Python,json 转储一个没有换行符的列表

Gee*_*ium 10 python json

我正在写一些最终会输出一个json文件的东西。

这是我目前要测试的

import json

my_list = [1, 2, 3]
my_dict = {"key": "value", "boolean": True}
my_json = {"object": my_dict, "array": my_list}

print(json.dumps(my_json, indent=4))
Run Code Online (Sandbox Code Playgroud)

这将输出:

{
    "object": {
        "key": "value",
        "boolean": true
    },
    "array": [
        1,
        2,
        3
    ]
}
Run Code Online (Sandbox Code Playgroud)

我不想要的是数组中每个值后的换行符,纯粹是出于审美目的,即

"array": [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

小智 10

您可以通过使用类似的库来完成您的任务jsbeautifier

使用以下命令安装库:

pip install jsbeautifier
Run Code Online (Sandbox Code Playgroud)

然后添加选项并调用该jsbeautifier.beautify()函数。

完整代码:

import json
import jsbeautifier


my_list = [1, 2, 3]
my_dict = {"key": "value", "boolean": True}
my_json = {"object": my_dict, "array": my_list}

options = jsbeautifier.default_options()
options.indent_size = 2
print(jsbeautifier.beautify(json.dumps(my_json), options))
Run Code Online (Sandbox Code Playgroud)

输出:

{
  "object": {
    "key": "value",
    "boolean": true
  },
  "array": [1, 2, 3]
}
Run Code Online (Sandbox Code Playgroud)