Python XML naar JSON

Python Xml Json



Extensible Markup Language (XML) en JavaScript Object Notation (JSON) zijn twee bekende dataformaten voor de opslag van data. 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 soort datastructuur die vooral gebruikt wordt om data 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 andere op basis van de komma.







Verder is XML een opmaaktaal van het type HTML 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 komma's 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 het kan worden geïnstalleerd in Python 2 en 3. In het geval van pip2 voert u de volgende opdracht uit om de xmltodict-module te installeren:





pip installeer xmltodict

Als 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-xmltodict

Het hierboven gegeven commando 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 voor deze conversie de xmltodict- en JSON-module gebruiken. De json is een ingebouwde Python-module. Daarom is de noodzaak om ze te installeren geëlimineerd. De functie xmltodict.parse() converteert de XML-gegevens naar het Python-woordenboek. Vervolgens neemt de functie json.dumps() het geconverteerde woordenboekobject als argument en converteert het verder naar de JSON-indeling. Dit is dus een proces in twee stappen:

Eerst moeten we de XML converteren naar het Python-woordenboekobject met de functie xmltodict.parse().

Ten tweede converteren we het Python-woordenboekobject naar het JSON-formaat met de functie json.dumps(). In de functie json.dumps() wordt de eigenschap indent gebruikt om spaties tussen de gegevens toe te voegen.

#modules importeren
importerenxmltodict
importerenjson
#de xml declareren
mijn_xml= '' '


1
De tuinen van de Marais
3
internet
Waar


2
Gouden Tulp Klein Paleis
4

internet
Sportschool
Parkeren
Restaurant

niet waar


'' '

#coverting xml naar Python woordenboek
dict_data=xmltodict.ontleden(mijn_xml)
#coverting naar json
json_data=json.stortplaatsen(dict_data,inspringen=2)
afdrukken(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
importerenjson
importerenxmltodict
# het xml-bestand openen
met open('hotels.xml','R') alsxmlfileObj:
#converteren xml-gegevens naar woordenboek
data_dict=xmltodict.ontleden(xmlbestandObj.lezen())
xmlbestandObj.dichtbij()
# JSON-object maken met woordenboekobject
jsonObj=json.stortplaatsen(data_dict)

#json-gegevens opslaan naar json-bestand
met open('hotels.json', 'in') alsjsonfileObj:
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 gegevensformaten om gegevens op te slaan. De XML-gegevens kunnen worden geconverteerd naar JSON-indeling met behulp van de xmltodict- en JSON-module. In dit artikel wordt de XML naar JSON-gegevensconversie uitgelegd met voorbeelden.