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