Python格式化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"}]}