Extensible Markup Language (XML) och JavaScript Object Notation (JSON) är två kända dataformat för lagring av data. Både JSON och XML tillåter oss att lagra data på ett sådant sätt att det är läsbart för människor såväl som maskiner. Till att börja med är JSON en typ av datastruktur som främst används för att utbyta data mellan servrar och programvaror. Den lagrar data som nyckel-värdepar. JSON gör ett objekt av data där nyckel-värde-par separeras på grundval av kolon (:), och ett komplett nyckel-värde-par åtskilda av andra baserat på komma.
Dessutom är XML ett HTML-märkningsspråk som också används för att lagra data. Men XML tillhandahåller inte någon form av fördefinierade taggar. Vi kan skapa egna taggar och lagra data. Som vi diskuterade används både JSON och XML för att utbyta data mellan servrarna och mjukvaruapplikationerna. De två dataformaten skiljer sig dock något åt. JSON är ett datalagringsformat för objekttyp, medan XML inte har någon typ. XML-filerna lagrar endast data i strängformat och tyngre än JSON-filen. Medan JSON-filerna kan lagra strängar, matriser, siffror med flytande nummer och booleska.
Den här artikeln förklarar XML till JSON-konvertering med Python. Python xmltodict-modulen används för att konvertera XML till JSON-format.
Installationen av xmltodict-modulen
Innan vi börjar konvertera XML till JSON måste vi installera xmltodict-modulen. Xmltodict-modulen kan installeras med pythonindexpaketet (pip) och den kan installeras i Python 2 och 3. I fallet med pip2, kör följande kommando för att installera xmltodict-modulen:
pip installera xmltodictOm du använder pip3 kör du följande kommando för att installera xmltodict-modulen:
pip3 installera xmltodict
I fallet med Debian-baserat system, kör sedan följande kommando för att installera xmltodict-modulen:
sudo apt installera python-xmltodictOvanstående kommando är lämpligt för Python2. I fallet med Python3-versionen kör du följande kommando:
sudo apt installera python3-xmltodict
XML till JSON-konvertering
Låt oss nu konvertera XML-data till JSON-format. Vi kommer att använda xmltodict och JSON-modulen för denna konvertering. Json är en inbyggd Python-modul. Därför elimineras behovet av att installera dem. Xmltodict.parse () -funktionen konverterar XML-data till Python-ordlistan. Sedan, json.dumps () -funktionen tar det konverterade ordboksobjektet som ett argument och konverterar det vidare till JSON-formatet. Så detta är en tvåstegsprocess:
Först måste vi konvertera XML till Python-ordboksobjekt med xmltodict.parse () -funktion.
För det andra konverterar vi Python-ordlistaobjekt till JSON-format med json.dumps () -funktion. I json.dumps () -funktionen används indentegenskapen för att lägga till mellanslag mellan data.
#import av modulernaimportera xmltodict
importera json
#declaring xml
my_xml = "" "
"" "
#coverting xml to Python dictionary
dict_data = xmltodict.analysera (min_xml)
#coverting till json
json_data = json.dumpar (dict_data, indent = 2)
skriv ut (json_data)
Produktion
Utdata visar att XML har konverterats till JSON-format.
XML-fil till JSON-filkonvertering
XML-fildata kan konverteras och sparas i JSON-filen. Låt oss öppna XML-filen, konvertera XML-data till JSON och lagra den i en JSON-fil.
Följande är XML-filen.
#import av modulerna
importera json
importera xmltodict
# öppnar xml-filen
med öppna ("hotell.xml "," r ") som xmlfileObj:
#konvertera xml-data till ordlistan
data_dict = xmltodict.analysera (xmlfilObj.läsa())
xmlfilObj.stänga()
# skapar JSON-objekt med ordboksobjekt
jsonObj = json.dumpar (data_dict)
#storing json data to json file
med öppen ("hotell.json "," w ") som jsonfileObj:
jsonfileObj.skriv (jsonObj)
jsonfileObj.stänga()
Produktion
Python-tolken visar inget fel. det betyder att JSON-data sparas framgångsrikt i en .json-fil.
Slutsats
XML och JSON är två populära dataformat för att lagra data. XML-data kan konverteras till JSON-format med xmltodict- och JSON-modulen. Den här artikeln förklarar XML till JSON datakonvertering med exempel.