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.