Extensible Markup Language (XML) en JavaScript Object Notation (JSON) zijn twee bekende gegevensformaten voor de opslag van gegevens. Zowel JSON als XML stellen ons in staat om de gegevens zo op te slaan dat ze leesbaar zijn voor zowel mens als machine. Om te beginnen is JSON een type datastructuur dat voornamelijk wordt gebruikt om gegevens uit te wisselen tussen servers en softwareapplicaties. Het slaat de gegevens op als sleutel-waardeparen. JSON maakt een object van de gegevens waarbij sleutel-waarde-paren worden gescheiden op basis van de dubbele punt (:), en één volledig sleutel-waarde-paar gescheiden door anderen op basis van de komma.
Bovendien is XML een opmaaktaal van het HTML-type die ook wordt gebruikt om de gegevens op te slaan. Maar de XML biedt geen enkele vorm van vooraf gedefinieerde tags. We kunnen onze eigen tags maken en de gegevens opslaan. Zoals we hebben besproken, worden zowel JSON als XML gebruikt om gegevens uit te wisselen tussen de servers en softwaretoepassingen. De twee gegevensformaten verschillen echter enigszins. De JSON is een gegevensopslagformaat van het objecttype, terwijl XML geen type heeft. De XML-bestanden slaan de gegevens alleen op in string-indeling en zwaarder dan het JSON-bestand. Terwijl de JSON-bestanden de string, arrays, getallen met drijvende-kommagetallen en Boolean . kunnen opslaan.
In dit artikel wordt de conversie van XML naar JSON met Python uitgelegd. Python xmltodict-module wordt gebruikt om de XML naar JSON-indeling te converteren.
De installatie van de xmltodict-module
Voordat we XML naar JSON gaan converteren, moeten we de xmltodict-module installeren. De xmltodict-module kan worden geïnstalleerd met behulp van het python-indexpakket (pip) en kan worden geïnstalleerd in Python 2 en 3. Voer in het geval van pip2 de volgende opdracht uit om de xmltodict-module te installeren:
pip installeer xmltodictAls je pip3 gebruikt, voer dan de volgende opdracht uit om de xmltodict-module te installeren:
pip3 installeer xmltodict
In het geval van een op Debian gebaseerd systeem, voer dan de volgende opdracht uit om de xmltodict-module te installeren:
sudo apt install python-xmltodictDe hierboven gegeven opdracht is geschikt voor Python2. Voer in het geval van de Python3-versie de volgende opdracht uit:
sudo apt install python3-xmltodict
XML naar JSON-conversie
Laten we nu de XML-gegevens naar JSON-indeling converteren. We zullen de xmltodict- en JSON-module gebruiken voor deze conversie. De json is een ingebouwde Python-module. Daarom is de noodzaak om ze te installeren geëlimineerd. Het xmltodict.parse() functie converteert de XML-gegevens naar het Python-woordenboek. Dan, de json.dumps() functie neemt het geconverteerde woordenboekobject als argument en converteert het verder naar het JSON-formaat. Dit is dus een proces in twee stappen:
Eerst moeten we de XML converteren naar een Python-woordenboekobject met xmltodict.parse() functie.
Ten tweede converteren we het Python-woordenboekobject naar het JSON-formaat met behulp van json.dumps() functie. in json.dumps() functie, de indent eigenschap wordt gebruikt om spaties toe te voegen tussen de data.
#modules importerenimport xmltodict
import json
#de xml declareren
mijn_xml = """
"""
#coverting xml naar Python woordenboek
dict_data = xmltodict.ontleden (mijn_xml)
#coverting naar json
json_data = json.dumps(dict_data, indent=2)
print(json_data)
Uitgang:
De uitvoer laat zien dat de XML met succes is geconverteerd naar JSON-indeling.
XML-bestand naar JSON-bestandsconversie
De gegevens van de XML-bestanden kunnen worden geconverteerd en opgeslagen in het JSON-bestand. Laten we het XML-bestand openen, de XML-gegevens converteren naar JSON en opslaan in een JSON-bestand.
Het volgende is het XML-bestand:.
#modules importeren
import json
xmltodict importeren
# het xml-bestand openen
met open("hotels.xml","r") als xmlfileObj:
#converteren xml-gegevens naar woordenboek
data_dict = xmltodict.parse(xmlfileObj.lezen())
xmlfileObj.dichtbij()
# JSON-object maken met woordenboekobject
jsonObj=json.stortplaatsen(data_dict)
#json-gegevens opslaan naar json-bestand
met open("hotels.json", "w") als jsonfileObj:
jsonfileObj.schrijven (jsonObj)
jsonfileObj.dichtbij()
Uitgang:
De Python-interpreter toont geen enkele fout; het betekent dat de JSON-gegevens met succes zijn opgeslagen in een .json-bestand.
Conclusie
XML en JSON zijn twee populaire gegevensindelingen om gegevens op te slaan. De XML-gegevens kunnen worden geconverteerd naar JSON-indeling met behulp van de xmltodict- en JSON-module. Dit artikel legt de XML naar JSON-gegevensconversie uit met voorbeelden.