JSON (JavaScript Object Notation) ist ein beliebtes Dateiformat, um die strukturierten Daten darzustellen und die Daten einfach zwischen dem Server und der Anwendung zu übertragen. Die Struktur dieser Datei ähnelt einigen Python-Objekten wie list , tuple und dictionary . Sie können jedes Dictionary-Objekt in das JSON-Objekt konvertieren, indem Sie die Methoden dump() und dumps() des json-Moduls verwenden. Dieser Artikel zeigt die Möglichkeiten zum Konvertieren eines Wörterbuchobjekts in das JSON-Objekt in Python.
json.dumps() -Methode:
Diese Methode wird verwendet, um das Dictionary-Objekt zum Parsen oder Lesen in JSON-Daten zu konvertieren, und ist langsamer als die dump() -Methode.
Syntax:
Diese Methode hat viele optionale Argumente. Die Verwendung von einem obligatorischen und zwei optionalen Argumenten wird in diesem Artikel gezeigt. Hier ist das erste Argument ein obligatorisches Argument, das verwendet wird, um ein beliebiges Wörterbuchobjekt aufzunehmen, das zweite Argument wird verwendet, um die Anzahl der Einheiten für den Einzug zu definieren, und das dritte Argument wird zum Sortieren von Schlüsseln verwendet.
json.dump() -Methode:
Diese Methode wird verwendet, um Python-Objekte in einer JSON-Datei zu speichern. Es ist schneller als die dumps() -Methode, da es separat in den Speicher und die Datei schreibt.
Syntax:
Diese Methode hat viele Argumente wie dumps() . In diesem Artikel werden drei Argumente verwendet, um die Daten eines Wörterbuchobjekts in JSON-Daten zu konvertieren und die Daten in einer JSON-Datei zu speichern. Hier wird das erste Argument verwendet, um ein Wörterbuchobjekt zu übernehmen, das in ein JSON-Objekt konvertiert werden muss, und das zweite Argument wird verwendet, um den Namen des Dateihandlers der Datei zu übernehmen, in die die JSON-Daten geschrieben werden. Das dritte Argument wird verwendet, um die Einrückungseinheit festzulegen.
Wie diese beiden Methoden verwendet werden können, um Wörterbuchobjekte in eine JSON-Datei oder einen JSON-String zu konvertieren, wird unten in diesem Artikel gezeigt.
Beispiel-1: Wörterbuch in JSON konvertieren mit dumps() mit Einrückung
Es wurde bereits erwähnt, dass die dumps() -Methode einen obligatorischen Parameter hat und das Dictionary-Objekt verwenden kann, um die Daten in eine JSON-Zeichenfolge zu konvertieren. Im folgenden Skript ist dict_data eine Wörterbuchvariable, die die Daten eines bestimmten Schülerdatensatzes enthält. Zuerst wird die dumps() -Methode mit einem Argument verwendet und der Wert von dict_data wird in JSON-Daten konvertiert. Die Ausgabe des Dictionary- und des JSON-Formats ist identisch, wenn in JSON-Daten kein Einzug verwendet wird. Als nächstes wird die dumps() -Methode mit zwei Argumenten verwendet, und 3 wird als Einrückungswert für JSON-Daten verwendet. Die zweite JSON-Ausgabe wird mit Einrückung generiert.
# JSON-Modul importieren
json importieren
# Wörterbuch definieren
dict_data = { „student_id“: „011894“, „name“: „Matthew“, „batch“: 30, „semester“:6 }
# Wörterbuchdaten drucken
print(„Dictonary Output: \n“, dict_data, „\n“)
# Wörterbuch in JSON-Objekt ohne Einzug konvertieren
json_data = json.dumps(dict_data)
# JSON-Daten drucken
print(„JSON-Ausgabe ohne Einzug: \n“,json_data, „\n“)
# Wörterbuch in JSON-Objekt mit Einzug konvertieren
json_data = json.dumps(dict_data,indent=3)
# JSON-Daten mit Einzug drucken
print(„JSON-Ausgabe mit Einzug: \n“, json_data)
Ausgabe:
Nach dem Ausführen des Skripts wird die folgende Ausgabe angezeigt.
Beispiel-2: Wörterbuch in JSON konvertieren mit dumps() mit sort_keys
Die Schlüssel von JSON-Daten können mit dem Argument sort_keys von dumps() sortiert werden. Der Standardwert dieses Arguments ist False. Im folgenden Skript wird das Dictionary-Objekt in JSON-Daten konvertiert, ohne sort_keys und sort_keys zu verwenden, um die Verwendung dieses Arguments anzuzeigen. Die erste dumps() -Methode wird mit dem Einzug 5 verwendet und die Ausgabe zeigt JSON-Daten mit Einzug 5. In der zweiten dumps() -Methode wird sort_keys verwendet und auf True gesetzt, um die Schlüsselwerte zu sortieren. Die letzte JSON-Ausgabe zeigt die Daten nach dem Sortieren der Schlüsselwerte an.
# JSON-Modul importieren
json importieren
# Wörterbuch definieren
dict_data = {’name‘:’April‘,’Month‘:’May‘,’year‘:2020,’sales‘:}
# Wörterbuchdaten drucken
print(„Dictonary Output: \n“, dict_data, „\n“)
# Konvertieren Sie ein Wörterbuch mit Listendaten in json
json_data = json.dumps(dict_data,indent = 5)
# JSON-Daten drucken
print(„JSON-Ausgabe mit Einzug: \n“, json_data)
# Konvertieren Sie ein Wörterbuch mit Listendaten in json, indem Sie die Schlüssel sortieren
json_data = json.dumps(dict_data,indent = 5, sort_keys = True)
# sortierte JSON-Daten basierend auf Schlüsseln drucken
print(„Sortierte JSON-Ausgabe mit Einzug: \n“, json_data)
Ausgang:
Nach dem Ausführen des Skripts wird die folgende Ausgabe angezeigt. Die erste JSON-Ausgabe zeigt die im Wörterbuch definierten Schlüsselwerte und die zweite JSON-Ausgabe zeigt die Schlüsselwerte in sortierter Reihenfolge an.
Beispiel 3: Wörterbuch in JSON-Daten konvertieren und in einer JSON-Datei speichern
Wenn Sie die JSON-Daten nach der Konvertierung aus dem Wörterbuch in einer Datei speichern möchten, müssen Sie die dump() -Methode verwenden. In diesem Beispiel wird gezeigt, wie Sie ein Dictionary-Objekt in JSON-Daten konvertieren und die Daten in einer JSON-Datei speichern können. Hier verwendet die dump() -Methode drei Argumente. Das erste Argument verwendet das zuvor definierte Dictionary-Objekt. Das zweite Argument verwendet die Dateihandlervariable, die ebenfalls zuvor definiert wurde, um eine JSON-Datei zu erstellen. Das dritte Argument definiert den Einrückungswert. Der Inhalt des neu geschriebenen JSON wird später als Ausgabe gedruckt.
# JSON-Modul importieren
json importieren
# Wörterbuch definieren
dict_data = { ‚c-101‘: ‚PHP-Programmierung‘, ‚c-102‘: ‚Bash-Programmierung‘, ‚c-103‘:
‚Python-Programmierung‘,
‚c-104‘: ‚Objektorientierte Programmierung‘ }
# Wörterbuchdaten drucken
print(„Dictonary Output: \n“, dict_data, „\n“)
# Legen Sie den JSON-Dateinamen fest
jsonFile = ‚course_list.json‘
# Öffnen Sie eine JSON-Datei zum Schreiben von JSON-Daten
mit open(jsonFile, ‚w‘) as fileHandler1:
json.dump(dict_data, fileHandler1, indent = 2)
# Öffnen Sie eine JSON-Datei zum Lesen
fileHandler2 = open(jsonFile)
print(„Der Inhalt der JSON-Datei: \n“, fileHandler2.lesen())
Ausgabe:
Nach dem Ausführen des Skripts wird die folgende Ausgabe angezeigt.
Fazit:
Es ist erforderlich, Wörterbuchdaten in JSON-Daten umzuwandeln, um verschiedene Programmieraufgaben zu vereinfachen. Diese Datenkonvertierung ist wichtig, da die Daten mithilfe von JSON problemlos von einem Skript zu einem anderen Skript übertragen werden können. Ich hoffe, dieses Tutorial wird den Python-Benutzern helfen, die Möglichkeiten zu kennen, Wörterbuchdaten in JSON-Daten zu konvertieren und sie ordnungsgemäß in ihrem Skript anzuwenden.