Python XML till JSON

Python Xml Json



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ätt som är läsbart för människor såväl som för maskiner. Till att börja med är JSON en typ av datastruktur som huvudsakligen används för att utbyta data mellan servrar och program. Den lagrar data som nyckel-värdepar. JSON gör ett objekt för data där nyckel-värdepar separeras på grundval av kolon (:), och ett komplett nyckel-värde-par separerade av andra baserat på komma.







Dessutom är XML ett HTML -typmarkeringsspråk som också används för att lagra data. Men XML ger inte någon form av fördefinierade taggar. Vi kan skapa våra egna taggar och lagra data. Som vi diskuterade används både JSON och XML för att utbyta data mellan servrar och program. De två dataformaten skiljer sig dock något åt. JSON är ett datalagringsformat av 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ängen, matriser, siffror flytande punktnummer och booleska.



Den här artikeln förklarar XML till JSON -konvertering med Python. Python xmltodict -modul 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 hjälp av python -indexpaketet (pip), och den kan installeras i Python 2 och 3. För pip2, utför följande kommando för att installera xmltodict -modulen:





pip installera xmltodict

Om du använder pip3, kör sedan följande kommando för att installera xmltodict -modulen:

pip3 installera xmltodict



För Debian -baserat system, kör sedan följande kommando för att installera xmltodict -modulen:

sudo apt installera python-xmltodict

Ovanstående kommando är lämpligt för Python2. Kör följande kommando för Python3 -versionen:

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. Funktionen xmltodict.parse () konverterar XML -data till Python -ordlista. Därefter tar funktionen json.dumps () det konverterade ordlistobjektet som ett argument och konverterar det vidare till JSON -formatet. Så det här är en tvåstegsprocess:

Först måste vi konvertera XML till Python -ordlistaobjekt med funktionen xmltodict.parse ().

För det andra konverterar vi Python -ordlistaobjekt till JSON -format med funktionen json.dumps (). I json.dumps () -funktionen används egenskapen indrag för att lägga till mellanslag mellan data.

#import av modulerna
importeraxmltodict
importerajson
#deklarerar xml
min_xml= '' '


1
Marais trädgårdar
3
Internet
Sann


2
Golden Tulip Little Palace
4

Internet
Gym
Parkering
Restaurang

Falsk


'' '

#coverting xml till Python -ordlista
dict_data=xmltodict.analysera(min_xml)
#coverting till json
json_data=json.soptippar(dict_data,indrag=2)
skriva ut(json_data)

Produktion

Utdata visar att XML konverterades till JSON -format.

XML -fil till JSON -filkonvertering

XML -filens data kan konverteras och sparas i JSON -filen. Låt oss öppna XML -filen, konvertera XML -data till JSON och lagra dem i en JSON -fil.

Följande är XML -filen.

#import av modulerna
importerajson
importeraxmltodict
# öppna xml -filen
med öppen('hotels.xml','r') somxmlfileObj:
#konvertera xml -data till ordlista
data_dict=xmltodict.analysera(xmlfileObj.läsa())
xmlfileObj.stänga()
#creating JSON object using dictionary object
jsonObj=json.soptippar(data_dict)

#lagring av json -data till json -fil
med öppen('hotels.json', 'i') somjsonfileObj:
jsonfileObj.skriva(jsonObj)
jsonfileObj.stänga()

Produktion

Python -tolkaren visar inget fel. det betyder att JSON -data har sparats i en .json -fil.

Slutsats

XML och JSON är två populära dataformat för lagring av 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.