Wie man eine JSON-Datei in Python hübsch ausdruckt
Der Inhalt der JSON-Datei könnte unordentlich sein, wenn Sie sie in den String einlesen oder load
.
Zum Beispiel in einer JSON-Datei ,
[{"foo": "Etiam", "bar": ["rhoncus", 0, "1.0"]}]
Wenn man es lädt
und dann druckt
.
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']}]
Das Ergebnis ist gut lesbar, verglichen mit dem Standardformat, das wir normalerweise sehen.
[
{
"foo": "Etiam",
"bar": [
"rhoncus",
0,
"1.0"
]
}
]
json.dumps
Methode
Die Funktion json.dumps()
serialisiert das angegebene obj
zu einer JSON-formatierten str
.
Wir muessen dem Schluesselwortparameter indent
in der json.dumps()
Funktion eine positive Ganzzahl geben, um das obj
mit dem angegebenen Indent-Level zu drucken. Wenn ident
auf 0
gesetzt ist, werden nur neue Zeilen eingefügt.
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
Methode
pprint
Modul gibt die Möglichkeit, Python-Datenstrukturen schön zu drucken. pprint.pprint
Pretty druckt ein Python-Objekt in einen Stream, gefolgt von einem Newline.
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)
Der Dateninhalt der JSON-Datei wird dabei ziemlich gedruckt. Und Sie können den Einzug auch durch die Zuweisung des Parameters indent
definieren.
pprint.pprint(json_data, indent=2)
pprint
behandelt einfache '
und doppelte Anführungszeichen "
identisch, aber JSON
verwendet nur "
, daher konnte der gepresste
JSON
Dateiinhalt nicht direkt in eine Datei gespeichert werden.
Andernfalls wird die neue Datei nicht als gültiges JSON
Format geparst.