我正在写一些最终会输出一个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)