如何漂亮列印 JSON 檔案
如果將 JSON 檔案的內容讀入字串或 load
到字串中,則內容可能會有些混亂。
例如,在一個 JSON 檔案中,
[{"foo": "Etiam", "bar": ["rhoncus", 0, "1.0"]}]
如果你 load
然後再列印它,
import json
with open(r'C:\test\test.json', 'r') as f:
json_data = json.load(f)
print(json_data)
[{'foo': 'Etiam', 'bar': ['rhoncus', 0, '1.0']}]
與我們通常看到的標準格式相比,標準格式的可讀性強。
[
{
"foo": "Etiam",
"bar": [
"rhoncus",
0,
"1.0"
]
}
]
json.dumps
方法
json.dumps()
函式將給定的物件序列化為 JSON 格式的 str
。
我們需要在 json.dumps()
函式中給關鍵字引數 indent
一個正整數,以使用給定的縮排級別漂亮地列印 obj
出來。如果 ident
將其設定為 0,則只會插入新行。
import json
with open(r'C:\test\test.json', 'r') as f:
json_data = json.load(f)
print(json.dumps(json_data, indent=2))
[
{
"foo": "Etiam",
"bar": [
"rhoncus",
0,
"1.0"
]
}
]
pprint
方法
pprint
模組提供了漂亮列印 Python 資料結構的功能。pprint.pprint
pretty 將 Python 物件列印出之後,然後換行。
import json
import pprint
with open(r'C:\test\test.json', 'r') as f:
json_data = f.read()
json_data = json.loads(json_data)
pprint.pprint(json_data)
JSON 檔案資料內容將被漂亮地列印出來。你還可以通過分配 indent
引數來定義縮排。
pprint.pprint(json_data, indent=2)
pprint
對待單'
引號和雙引號"
相同,但 JSON
只能使用"
,因此,pprinted JSON
檔案內容不能直接儲存到檔案中。
否則,新檔案將不會被解析為有效 JSON
格式。
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn