Wie man eine JSON-Datei in Python hübsch ausdruckt

  1. json.dumps Methode
  2. pprint Methode

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)
Achtung

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.

comments powered by Disqus