格式化 JSON 输出
假设我们有以下数据:
>>> data = {"cats": [{"name": "Tubbs", "color": "white"}, {"name": "Pepper", "color": "black"}]}
只是将其作为 JSON 转储在这里没有做任何特别的事情:
>>> print(json.dumps(data))
{"cats": [{"name": "Tubbs", "color": "white"}, {"name": "Pepper", "color": "black"}]}
设置缩进以获得更漂亮的输出
如果我们想要漂亮的打印,我们可以设置 indent
尺寸:
>>> print(json.dumps(data, indent=2))
{
"cats": [
{
"name": "Tubbs",
"color": "white"
},
{
"name": "Pepper",
"color": "black"
}
]
}
按字母顺序对键进行排序以获得一致的输出
默认情况下,输出中键的顺序是未定义的。我们可以按字母顺序获取它们以确保我们始终获得相同的输出:
>>> print(json.dumps(data, sort_keys=True))
{"cats": [{"color": "white", "name": "Tubbs"}, {"color": "black", "name": "Pepper"}]}
摆脱空白以获得紧凑的输出
我们可能想要摆脱不必要的空间,这可以通过设置与默认', '
和': '
不同的分隔符来完成:
>>>print(json.dumps(data, separators=(',', ':')))
{"cats":[{"name":"Tubbs","color":"white"},{"name":"Pepper","color":"black"}]}