So lesen und schreiben Sie JSON -Dateien in Python

So lesen und schreiben Sie JSON -Dateien in Python
In diesem Artikel wird erläutert, wie Sie mit JSON -Dateien und Daten in Python -Programmiersprache umgehen können. Python verfügt über ein integriertes „JSON“ -Modul, das die Handhabung von JSON-Daten einfach und unkompliziert erleichtert.

Über Json

JSON (JavaScript-Objektnotation) ist ein Dateiformat- und Datenspeicherstandard, der Schlüsselwertpaare zum Speichern und Austausch von Daten verwendet. Es ist das am weitesten verbreitete Datenaustauschformat, das häufig in erholsamen APIs, leichten Datenbanken, Konfigurationsdateien und andere Offline- oder Online -Software zu sehen ist, die Daten speichern, abrufen und austauschen müssen. Die meisten Programmiersprachen enthalten Bibliotheken zum Analysieren und Schreiben von JSON -Daten standardmäßig und JSON ist ein Agnostic -Datenformat für Programmiersprache. Werte, die in einer JSON -Datei oder einer JSON -Nutzlast gespeichert sind, enthalten normalerweise Zeichenfolgen, Zahlen und serialisierbare Datentypen wie Listen (Arrays).

JSON- und Python -Wörterbücher

JSON -Daten in Python werden mithilfe der „Last“ -Methode in ein Wörterbuchobjekt konvertiert. Es ist oft zu sehen, dass einige Menschen JSON -Daten und ein Python -Wörterbuch gleichsetzen, da die Syntax, um beide zu definieren, nahezu gleich ist. JSON -Daten sind jedoch nichts anderes als eine Textzeichenfolge, die in einer starren Syntax strukturiert ist, während ein Python -Wörterbuch ein im Speicher gespeicherter Datenstrukturobjekt ist. Wenn Sie Wörterbuchdaten in einer Textdatei speichern oder an ein anderes Nicht-Python-Programm senden möchten, müssen Sie sie zuerst in eine Textzeichenfolge (Bytes) umwandeln. Diese abgeladene / konvertierte Textzeichenfolge ist in der Standardsyntax von JSON definiert und der Prozess der Konvertierung eines Python -Wörterbuchs in eine JSON -kompatible Zeichenfolge wird als Serialisierung bezeichnet.

Lesen und Dumpeln von JSON -Daten in Python

JSON -Daten können als Antwortformular ein Server abgerufen werden, aus der Datei gelesen, aus URL -Abfrageparametern und so weiter geschnitten werden. Dieser Artikel konzentriert sich hauptsächlich auf das Lesen von JSON -Daten aus einer lokal gespeicherten Datei. Nehmen wir an, dass ein „Test.Die JSON -Datei enthält folgende Daten:

"Codename": "Eoan Ermelin", "Version": "Ubuntu 19.10 "

Den Test lesen.JSON -Datei In Python können Sie den folgenden Code verwenden:

JSON importieren
mit offen ("Test.json ") als f:
Data = JSON.Last (f)
Dump = JSON.Dumps (Daten)
Druck (Daten)
Druck (Typ (Daten))
Druck (Dump)
drucken (Typ (Dump))

Die erste Zeile im obigen Code importiert das JSON -Modul. In der nächsten Zeile wird „mit Open“ verwendet, um den Dateiinhalt sicher zu lesen. Innerhalb des "mit offenen" Blocks "JSON".Die Lademethode wird verwendet, um Dateiinhalte in der Variablen „Daten“ zu lesen und zu speichern. Die im vorherigen Schritt geladenen Daten werden mit dem „JSON.Müllmethode. Das Ausführen des obigen Codes zeigt die folgende Ausgabe an:

'Codename': 'Eoan Ermelin', 'Version': 'Ubuntu 19.10 '

"Codename": "Eoan Ermelin", "Version": "Ubuntu 19.10 "

Beachten Sie in der obigen Ausgabe, dass der „json.Load ”-Methode liest Raw JSON -Daten in ein Python -Wörterbuch, während„ JSON “.Dumps “-Methoden umwandeln ein Wörterbuch in eine Schnur, die mit der JSON -Struktur kompatibel ist. Sobald ein JSON-Objekt in ein Python-Wörterbuch-Objekt umgewandelt wurde, können Sie integrierte Python-Wörterbuchmethoden verwenden, um die Daten zu verarbeiten. Das obige Beispiel ist ziemlich einfach und enthält keine Arrays in JSON -Daten oder verschachtelten Werten. In Python können Sie diese Werte jedoch wie alle anderen verschachtelten Wörterbücher und Listen behandeln.

Sortieren und hübsche Druck -JSON -Daten

Der „JSON.Die Methode des Dumps ”unterstützt einige optionale Parameter für die Sortierung von Schlüsseln und das Drucken der Ausgabe für eine verbesserte Lesbarkeit.

JSON importieren
mit offen ("Test.json ") als f:
Data = JSON.Last (f)
Dump = JSON.Dumps (Daten, sort_keys = true, Einklebung = 4)
Druck (Dump)

Der obige Code zeigt die folgende Ausgabe an:


"Codename": "Eoan Ermelin",
"Version": "Ubuntu 19.10 "

Datentypkonvertierungen

Die folgende Liste zeigt, wie JSON -Werte in Python -Objekte umgewandelt werden und umgekehrt.

JSON Python
Saite str
Nummer int oder float
wahr falsch Wahr falsch
Null Keiner
Array Liste
Objekt DICT

JSON.Werkzeugbefehlsleitungsmodul

Python enthält einen schönen Befehlszeilen -Dienstprogramm „JSON.Tool “, mit dem JSON -Zeichenfolgen und -dateien hübsch gedruckt werden können und hübsch gedruckt werden können.

$ echo '"Codename": "Eoan Ermine", "Version": "Ubuntu 19.10 " '| Python3 -m json.Werkzeug

Durch Ausführen des obigen Befehls zeigt Ihnen die folgende Ausgabe:


"Codename": "Eoan Ermelin",
"Version": "Ubuntu 19.10 "

Sie können auch JSON verwenden.Tool mit JSON -Dateien. Ersetzen Sie "in_file" und "out_file" im folgenden Befehl durch die gewünschten Werte:

$ python3 -m json.Tool in_file out_file

Abgesehen von hübschem Druck, Sortieren und Validieren von JSON -Daten, JSON,.Tool tut nichts anderes. Wenn Sie also JSON-Daten manipulieren möchten, müssen Sie Ihren eigenen benutzerdefinierten Code mit dem integrierten JSON-Modul schreiben.