Python XML į JSON

Python Xml Json



Išplėstinė žymėjimo kalba (XML) ir „JavaScript Object Notation“ (JSON) yra du žinomi duomenų formatai, skirti saugoti duomenis. Tiek JSON, tiek XML leidžia mums saugoti duomenis taip, kad juos galėtų nuskaityti ir žmonės, ir mašinos. Pirmiausia JSON yra duomenų struktūros tipas, kuris daugiausia naudojamas keistis duomenimis tarp serverių ir programinės įrangos. Duomenys saugomi kaip raktinių verčių poros. „JSON“ sukuria duomenų objektą, kuriame raktų ir verčių poros yra atskirtos pagal dvitaškį (:), o vieną pilną raktų ir verčių porą skiria kitos pagal kablelį.







Be to, XML yra HTML tipo žymėjimo kalba, kuri taip pat naudojama duomenims saugoti. Tačiau XML neteikia jokių iš anksto nustatytų žymų. Mes galime sukurti savo žymas ir saugoti duomenis. Kaip aptarėme, tiek JSON, tiek XML yra naudojami keistis duomenimis tarp serverių ir programinės įrangos. Tačiau abu duomenų formatai šiek tiek skiriasi. JSON yra objekto tipo duomenų saugojimo formatas, o XML neturi tipo. XML failai saugo duomenis tik eilutės formatu ir yra sunkesni nei JSON failas. Tuo tarpu JSON failai gali saugoti eilutes, masyvus, skaičių slankiojo kablelio skaičius ir loginę reikšmę.



Šiame straipsnyje paaiškinamas XML konvertavimas į JSON naudojant „Python“. Python xmltodict modulis naudojamas XML konvertuoti į JSON formatą.



„Xmltodict“ modulio diegimas

Prieš pradėdami konvertuoti XML į JSON, turime įdiegti xmltodict modulį. „Xmltodict“ modulį galima įdiegti naudojant „python“ indekso paketą (pip), jį galima įdiegti „Python 2“ ir „3.“. „Pip2“ atveju vykdykite šią komandą, kad įdiegtumėte „xmltodict“ modulį:





pip įdiegti xmltodict

Jei naudojate „pip3“, paleiskite šią komandą, kad įdiegtumėte „xmltodict“ modulį:

pip3 įdiegti xmltodict



„Debian“ sistemos atveju paleiskite šią komandą, kad įdiegtumėte „xmltodict“ modulį:

sudo apt įdiegti python-xmltodict

Aukščiau pateikta komanda tinka „Python2“. „Python3“ versijos atveju paleiskite šią komandą:

sudo apt įdiegti python3-xmltodict

XML konvertavimas į JSON

Dabar konvertuokime XML duomenis į JSON formatą. Šiai konversijai naudosime xmltodict ir JSON modulį. „Json“ yra įmontuotas „Python“ modulis. Todėl nebereikia jų įdiegti. Funkcija xmltodict.parse () konvertuoja XML duomenis į „Python“ žodyną. Tada funkcija json.dumps () priima konvertuotą žodyno objektą kaip argumentą ir toliau konvertuoja jį į JSON formatą. Taigi tai yra dviejų etapų procesas:

Pirmiausia turime konvertuoti XML į „Python“ žodyno objektą, naudodami funkciją xmltodict.parse ().

Antra, mes konvertuojame „Python“ žodyno objektą į JSON formatą, naudodami funkciją json.dumps (). Funkcijoje json.dumps () ypatybė įtraukos naudojama tarpams tarp duomenų pridėti.

#importuoti modulius
importasxmltodict
importasjson
#deklaruoti xml
my_xml= '' '


1
Marais sodai
3
internetas
Tiesa


2
Auksiniai tulpės mažieji rūmai
4

internetas
sporto salė
Parkavimas
Restoranas

Netiesa


'' '

#coverting xml į Python žodyną
dict_data=xmltodict.išanalizuoti(my_xml)
#perėjimas prie json
json_data=json.sąvartynai(dict_data,įtrauka=2)
spausdinti(json_data)

Išvestis

Išvestis rodo, kad XML sėkmingai konvertuotas į JSON formatą.

XML failo konvertavimas į JSON failą

XML failų duomenis galima konvertuoti ir išsaugoti JSON faile. Atidarykime XML failą, konvertuokime XML duomenis į JSON ir išsaugokime juos JSON faile.

Toliau pateikiamas XML failas.

#importuoti modulius
importasjson
importasxmltodict
# xml failo atidarymas
su atviras('hotels.xml',„r“) kaipxmlfileObj:
#konvertuojant xml duomenis į žodyną
data_dict=xmltodict.išanalizuoti(xmlfileObj.skaityti())
xmlfileObj.Uždaryti()
#creating JSON objektas naudojant žodyno objektą
jsonObj=json.sąvartynai(data_dict)

#json duomenų saugojimas json faile
su atviras(„hotels.json“, 'in') kaipjsonfileObj:
jsonfileObj.rašyti(jsonObj)
jsonfileObj.Uždaryti()

Išvestis

„Python“ vertėjas nerodo jokių klaidų; tai reiškia, kad JSON duomenys sėkmingai išsaugomi .json faile.

Išvada

XML ir JSON yra du populiarūs duomenų formatai duomenims saugoti. XML duomenis galima konvertuoti į JSON formatą naudojant xmltodict ir JSON modulius. Šiame straipsnyje pateikiami XML į JSON duomenų konvertavimo pavyzdžiai.