Python

So lesen und schreiben Sie Json-Dateien in Python

So lesen und schreiben Sie Json-Dateien in Python
In diesem Artikel wird der Umgang mit JSON-Dateien und -Daten in der Programmiersprache Python erläutert. Python wird mit einem integrierten „json“-Modul geliefert, das die Handhabung von JSON-Daten einfach und unkompliziert macht.

Über JSON

JSON (JavaScript Object Notation) ist ein Dateiformat und ein Datenspeicherstandard, der Schlüssel-Wert-Paare zum Speichern und Austauschen von Daten verwendet. Es ist das am weitesten verbreitete Datenaustauschformat, das häufig in RESTful-APIs, schlanken Datenbanken, Konfigurationsdateien und anderer Offline- oder Online-Software verwendet wird, die Daten speichern, abrufen und austauschen muss. Die meisten Programmiersprachen enthalten standardmäßig Bibliotheken zum Parsen und Schreiben von JSON-Daten, und JSON ist ein programmiersprachenunabhängiges Datenformat. In einer JSON-Datei oder Nutzlast gespeicherte Werte enthalten normalerweise Zeichenfolgen, Zahlen und serialisierbare Datentypen wie Listen (Arrays).

JSON- und Python-Wörterbücher

JSON-Daten in Python werden mithilfe der Methode „load“ in ein Wörterbuchobjekt konvertiert. Es wird oft gesehen, dass manche Leute Json-Daten und ein Python-Wörterbuch gleichsetzen, da die Syntax zum Definieren beider fast 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 gespeichertes 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) konvertieren. Diese ausgegebene / 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 Dumpen von JSON-Daten in Python

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

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

Um den Test zu lesen.json-Datei in Python verwenden, können Sie den folgenden Code verwenden:

json importieren
mit offen ("test.json") als f:
data = json.laden (w)
dump = json.Dumps (Daten)
drucken (Daten)
drucken (Typ(Daten))
drucken (dump)
drucken (Typ (Dump))

Die erste Zeile im obigen Code importiert das Json-Modul. In der nächsten Zeile wird „with open“ verwendet, um den Dateiinhalt sicher zu lesen. Innerhalb des Blocks „with open“ wird „json.load“-Methode wird verwendet, um den Dateiinhalt in der Variablen „data“ zu lesen und zu speichern. Die im vorherigen Schritt geladenen Daten werden mit dem „json“ wieder in einen Json-String umgewandelt.Dump“-Methode. Wenn Sie den obigen Code ausführen, wird die folgende Ausgabe angezeigt:

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

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

Beachten Sie in der Ausgabe oben, dass das „json“.load“-Methode liest Json-Rohdaten in ein Python-Wörterbuch, während „json.dumps“-Methoden konvertiert ein Wörterbuch in eine Zeichenfolge, die mit der JSON-Struktur kompatibel ist. Nachdem ein JSON-Objekt in ein Python-Wörterbuchobjekt konvertiert 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.

JSON-Daten sortieren und hübsch drucken

Das „json“.dump“-Methode unterstützt einige optionale Parameter zum Sortieren von Schlüsseln und zum hübschen Drucken der Ausgabe für eine bessere Lesbarkeit.

json importieren
mit offen ("test.json") als f:
data = json.laden (w)
dump = json.dumps(data, sort_keys=True, indent=4)
drucken (dump)

Der obige Code zeigt die folgende Ausgabe:


"codename": "Eoan Hermelin",
"Version": "Ubuntu 19.10"

Datentypkonvertierungen

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

JSON Python
Schnur str
Nummer int oder float
wahr falsch Wahr falsch
Null Keiner
Array aufführen
Objekt diktieren

Json.Werkzeug Befehlszeilenmodul

Python enthält ein nettes Befehlszeilen-Dienstprogramm „json“.Tool“, mit dem JSON-Strings und -Dateien validiert und hübsch gedruckt werden können.

$ echo '"codename": "Eoan Hermelin", "version": "Ubuntu 19.10"' | python3 -m json.Werkzeug

Wenn Sie den obigen Befehl ausführen, wird die folgende Ausgabe angezeigt:


"codename": "Eoan Hermelin",
"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 Ihre gewünschten Werte:

$ python3 -m json.Werkzeug in_file out_file

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

OpenTTD vs. Simutrans
Das Erstellen einer eigenen Transportsimulation kann Spaß machen, entspannend und äußerst verlockend sein. Deshalb sollten Sie so viele Spiele wie mög...
OpenTTD-Tutorial
OpenTTD ist eines der beliebtesten Wirtschaftssimulationsspiele auf dem Markt. In diesem Spiel musst du ein wunderbares Transportunternehmen aufbauen....
SuperTuxKart für Linux
SuperTuxKart ist ein großartiger Titel, der entwickelt wurde, um Ihnen das Mario Kart-Erlebnis kostenlos auf Ihrem Linux-System zu bieten. Es ist ziem...