Python XML uz JSON

Python Xml Json



Paplašināmā iezīmēšanas valoda (XML) un JavaScript objekta apzīmējums (JSON) ir divi slaveni datu formāti datu glabāšanai. Gan JSON, gan XML ļauj mums saglabāt datus tā, lai tos varētu nolasīt gan cilvēki, gan mašīnas. Vispirms JSON ir datu struktūras veids, ko galvenokārt izmanto datu apmaiņai starp serveriem un lietojumprogrammām. Tas saglabā datus kā atslēgu un vērtību pārus. JSON izveido datu objektu, kur atslēgu vērtību pāri tiek atdalīti, pamatojoties uz kolu (:), un vienu pilnu atslēgas vērtību pāri atdala citi, pamatojoties uz komatu.







Turklāt XML ir HTML tipa iezīmēšanas valoda, ko izmanto arī datu glabāšanai. Taču XML nenodrošina nekāda veida iepriekš noteiktus tagus. Mēs varam izveidot savus tagus un saglabāt datus. Kā mēs apspriedām, gan JSON, gan XML tiek izmantoti datu apmaiņai starp serveriem un lietojumprogrammām. Tomēr abi datu formāti nedaudz atšķiras. JSON ir objekta tipa datu glabāšanas formāts, bet XML nav tipa. XML faili glabā datus tikai virkņu formātā un ir smagāki par JSON failu. Tā kā JSON faili var saglabāt virkni, masīvus, skaitļus ar peldošo komatu un Būla vērtību.



Šajā rakstā ir izskaidrota XML konvertēšana uz JSON, izmantojot Python. Python xmltodict modulis tiek izmantots, lai XML pārvērstu JSON formātā.



Xmltodict moduļa uzstādīšana

Pirms sākat konvertēt XML uz JSON, mums jāinstalē xmltodict modulis. Moduli xmltodict var instalēt, izmantojot python indeksa pakotni (pip), un to var instalēt Python 2 un 3. Pip2 gadījumā izpildiet šādu komandu, lai instalētu xmltodict moduli:





pip instalēt xmltodict

Ja izmantojat pip3, palaidiet šādu komandu, lai instalētu xmltodict moduli:

pip3 instalēt xmltodict



Debian sistēmas gadījumā palaidiet šādu komandu, lai instalētu xmltodict moduli:

sudo apt instalēt python-xmltodict

Iepriekš minētā komanda ir piemērota Python2. Python3 versijas gadījumā palaidiet šādu komandu:

sudo apt instalēt python3-xmltodict

XML konvertēšana uz JSON

Tagad pārveidosim XML datus JSON formātā. Šim reklāmguvumam mēs izmantosim moduli xmltodict un JSON. Json ir iebūvēts Python modulis. Tāpēc nepieciešamība tos instalēt tiek novērsta. Funkcija xmltodict.parse () pārveido XML datus Python vārdnīcā. Pēc tam funkcija json.dumps () ņem konvertēto vārdnīcas objektu kā argumentu un tālāk pārvērš to JSON formātā. Tātad šis ir divu soļu process:

Vispirms XML jāpārvērš Python vārdnīcas objektā, izmantojot funkciju xmltodict.parse ().

Otrkārt, mēs pārveidojam Python vārdnīcas objektu JSON formātā, izmantojot funkciju json.dumps (). Funkcijā json.dumps () rekvizītu atkāpe izmanto, lai starp datiem pievienotu atstarpes.

#moduļu importēšana
importētxmltodict
importētjson
#deklarējot xml
my_xml= '' '


1
Mariju dārzi
3
Internets
Taisnība


2
Zelta tulpju mazā pils
4

Internets
sporta zāle
Autostāvvieta
Restorāns

Nepatiess


'' '

#coverting xml uz Python vārdnīcu
dict_data=xmltodict.parsēt(my_xml)
#pārvēršanās par json
json_data=json.izgāztuves(dict_data,atkāpe=2)
drukāt(json_data)

Izeja

Rezultāts parāda, ka XML ir veiksmīgi pārveidots JSON formātā.

XML faila konvertēšana uz JSON failu

XML failu datus var konvertēt un saglabāt JSON failā. Atvērsim XML failu, konvertēsim XML datus uz JSON un saglabāsim tos JSON failā.

Tālāk ir norādīts XML fails.

#moduļu importēšana
importētjson
importētxmltodict
# atverot xml failu
ar atvērts('hotels.xml','r') xmlfileObj:
#converting xml datus vārdnīcā
data_dict=xmltodict.parsēt(xmlfileObj.lasīt())
xmlfileObj.aizvērt()
#creating JSON objekts, izmantojot vārdnīcas objektu
jsonObj=json.izgāztuves(data_dict)

#json datu glabāšana json failā
ar atvērts('hotels.json', 'in') jsonfileObj:
jsonfileObj.rakstīt(jsonObj)
jsonfileObj.aizvērt()

Izeja

Python tulks neuzrāda nevienu kļūdu; tas nozīmē, ka JSON dati ir veiksmīgi saglabāti .json failā.

Secinājums

XML un JSON ir divi populāri datu formāti datu glabāšanai. XML datus var pārvērst JSON formātā, izmantojot xmltodict un JSON moduli. Šajā rakstā ar piemēriem paskaidrota XML un JSON datu konvertēšana.