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

Jinku Hu 30 Januar 2023 Python Python JSON
  1. json.dumps Methode
  2. pprint Methode
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)
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.

Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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 Facebook

Verwandter Artikel - Python JSON