Extensible Markup Language (XML) und JavaScript Object Notation (JSON) sind zwei bekannte Datenformate zur Speicherung von Daten. Sowohl JSON als auch XML ermöglichen es uns, die Daten sowohl für Menschen als auch für Maschinen lesbar zu speichern. JSON ist zunächst eine Art von Datenstruktur, die hauptsächlich zum Austausch von Daten zwischen Servern und Softwareanwendungen verwendet wird. Es speichert die Daten als Schlüssel-Wert-Paare. JSON macht aus den Daten ein Objekt, bei dem Schlüssel-Wert-Paare auf der Grundlage des Doppelpunkts (:) und ein vollständiges Schlüssel-Wert-Paar durch andere auf der Grundlage des Kommas getrennt werden.
Darüber hinaus ist XML eine Auszeichnungssprache vom Typ HTML, die auch zum Speichern der Daten verwendet wird. Das XML bietet jedoch keine vordefinierten Tags. Wir können unsere eigenen Tags erstellen und die Daten speichern. Wie bereits besprochen, werden sowohl JSON als auch XML verwendet, um Daten zwischen den Servern und Softwareanwendungen auszutauschen. Allerdings unterscheiden sich die beiden Datenformate etwas. JSON ist ein Datenspeicherformat vom Objekttyp, während XML keinen Typ hat. Die XML-Dateien speichern die Daten nur im String-Format und sind schwerer als die JSON-Datei. Während die JSON-Dateien die Zeichenfolge, Arrays, Zahlen, Gleitkommazahlen und Boolean speichern können.
In diesem Artikel wird die Konvertierung von XML in JSON mit Python erläutert. Das Python xmltodict-Modul wird verwendet, um das XML- in das JSON-Format zu konvertieren.
Die Installation des xmltodict-Moduls
Bevor wir mit der Konvertierung von XML in JSON beginnen, müssen wir das xmltodict-Modul installieren. Das xmltodict-Modul kann mit dem Python-Indexpaket (pip) installiert werden, und es kann in Python 2 und 3 installiert werden. Führen Sie im Fall von pip2 den folgenden Befehl aus, um das xmltodict-Modul zu installieren:
pip install xmltodictWenn Sie pip3 verwenden, führen Sie den folgenden Befehl aus, um das xmltodict-Modul zu installieren:
pip3 installieren xmltodict
Führen Sie bei einem Debian-basierten System den folgenden Befehl aus, um das xmltodict-Modul zu installieren:
sudo apt installieren python-xmltodictDer oben angegebene Befehl ist für Python2 geeignet. Führen Sie bei der Python3-Version den folgenden Befehl aus:
sudo apt install python3-xmltodict
XML-zu-JSON-Konvertierung
Lassen Sie uns nun die XML-Daten in das JSON-Format konvertieren. Wir werden das xmltodict- und das JSON-Modul für diese Konvertierung verwenden. Das json ist ein integriertes Python-Modul. Daher entfällt die Notwendigkeit, sie zu installieren. Das xmltodict.parse()-Funktion konvertiert die XML-Daten in das Python-Wörterbuch. Dann ist der json.Die Funktion dumps() nimmt das konvertierte Wörterbuchobjekt als Argument und konvertiert es weiter in das JSON-Format. Dies ist also ein zweistufiger Prozess:
Zuerst müssen wir das XML mit xmltodict in ein Python-Wörterbuchobjekt konvertieren.parse()-Funktion.
Zweitens konvertieren wir das Python-Wörterbuchobjekt mit json in das JSON-Format.dumps()-Funktion. In json.dumps()-Funktion wird die indent-Eigenschaft verwendet, um Leerzeichen zwischen den Daten hinzuzufügen.
#importieren der Modulexmltodict importieren
json importieren
#xml deklarieren
my_xml = """
"""
#Umwandeln von XML ins Python-Wörterbuch
dict_data = xmltodict.analysieren (my_xml)
#coverting zu json
json_data = json.Dumps(dict_data, indent=2)
print(json_data)
Ausgabe
Die Ausgabe zeigt, dass das XML erfolgreich in das JSON-Format konvertiert wurde.
Konvertierung von XML-Dateien in JSON-Dateien
Die Daten der XML-Dateien können konvertiert und in die JSON-Datei gespeichert werden. Öffnen wir die XML-Datei, konvertieren die XML-Daten in JSON und speichern sie in einer JSON-Datei store.
Das Folgende ist die XML-Datei.
#importieren der Module
json importieren
xmltodict importieren
# Öffnen der XML-Datei
mit offen("hotels.xml","r") als xmlfileObj:
#xml-Daten in ein Wörterbuch konvertieren
data_dict = xmltodict.parse(xmlfileObj.lesen())
xmlfileObj.schließen()
#JSON-Objekt mit Wörterbuchobjekt erstellen
jsonObj= json.Dumps (data_dict)
#Speichern von Json-Daten in einer Json-Datei
mit offen("hotels.json", "w") als jsonfileObj:
jsonfileObj.schreiben (jsonObj)
jsonfileObj.schließen()
Ausgabe
Der Python-Interpreter zeigt keinen Fehler an; Dies bedeutet, dass die JSON-Daten erfolgreich in a gespeichert wurden .json-Datei.
Fazit
XML und JSON sind zwei beliebte Datenformate zum Speichern von Daten. Die XML-Daten können mit dem xmltodict- und JSON-Modul in das JSON-Format konvertiert werden. Dieser Artikel erklärt die XML-zu-JSON-Datenkonvertierung mit Beispielen.