Python XML a JSON

Python Xml Json



El llenguatge de marcatge extensible (XML) i la notació d'objectes JavaScript (JSON) són dos formats de dades famosos per a l'emmagatzematge de dades. Tant JSON com XML ens permeten emmagatzemar les dades de manera que siguin llegibles tant per humans com per màquines. Per començar, JSON és un tipus d’estructura de dades que s’utilitza principalment per intercanviar dades entre servidors i aplicacions de programari. Emmagatzema les dades com a parells clau-valor. JSON fa un objecte de les dades on els parells clau-valor estan separats sobre la base dels dos punts (:), i un parell clau-valor complet separat per altres segons la coma.







A més, XML és un llenguatge de marques de tipus HTML que també s’utilitza per emmagatzemar les dades. Però l'XML no proporciona cap tipus d'etiquetes predefinides. Podem crear les nostres pròpies etiquetes i emmagatzemar les dades. Com hem comentat, tant JSON com XML s’utilitzen per intercanviar dades entre els servidors i les aplicacions de programari. No obstant això, els dos formats de dades difereixen una mica. El JSON és un format d’emmagatzematge de dades de tipus objecte, mentre que XML no té cap tipus. Els fitxers XML només emmagatzemen les dades en format de cadena i més pesats que el fitxer JSON. Mentre que els fitxers JSON poden emmagatzemar la cadena, matrius, números de coma flotant i números booleans.



En aquest article s’explica la conversió XML a JSON mitjançant Python. El mòdul Python xmltodict s’utilitza per convertir el format XML a JSON.



La instal·lació del mòdul xmltodict

Abans de començar a convertir XML a JSON, hem d’instal·lar el mòdul xmltodict. El mòdul xmltodict es pot instal·lar mitjançant el paquet d'índex python (pip) i es pot instal·lar a Python 2 i 3. En el cas de pip2, executeu l'ordre següent per instal·lar el mòdul xmltodict:





pip install xmltodict

Si feu servir pip3, executeu l'ordre següent per instal·lar el mòdul xmltodict:

pip3 instal·lar xmltodict



En el cas del sistema basat en Debian, executeu l'ordre següent per instal·lar el mòdul xmltodict:

sudo apt install python-xmltodict

L'ordre indicada anteriorment és adequada per a Python2. En el cas de la versió de Python3, executeu l'ordre següent:

sudo apt install python3-xmltodict

Conversió XML a JSON

Ara convertim les dades XML al format JSON. Utilitzarem el mòdul xmltodict i JSON per a aquesta conversió. El json és un mòdul Python integrat. Per tant, s’elimina la necessitat d’instal·lar-los. La funció xmltodict.parse () converteix les dades XML en diccionari Python. A continuació, la funció json.dumps () pren l'objecte de diccionari convertit com a argument i el converteix al format JSON. Per tant, es tracta d’un procés en dos passos:

Primer hem de convertir l'XML en objecte de diccionari Python mitjançant la funció xmltodict.parse ().

En segon lloc, convertim l'objecte de diccionari Python al format JSON mitjançant la funció json.dumps (). A la funció json.dumps (), la propietat de sagnat s’utilitza per afegir espais entre les dades.

#important els mòduls
importacióxmltodict
importaciójson
#declaració de l'xml
my_xml= '' '


1
Els jardins del Marais
3
Internet
És cert


2
Golden Tulip Little Palace
4

Internet
gimnàs
Aparcament
Restaurant

Fals


'' '

#coverting xml al diccionari Python
dict_data=xmltodict.analitzar(my_xml)
#coverting a json
json_data=json.abocadors(dict_data,sagnia=2)
imprimir(json_data)

Sortida

La sortida mostra que l'XML es converteix correctament al format JSON.

Conversió de fitxer XML a fitxer JSON

Les dades dels fitxers XML es poden convertir i desar al fitxer JSON. Obrim el fitxer XML, convertim les dades XML a JSON i emmagatzemem-les en un fitxer JSON.

El següent és el fitxer XML.

#important els mòduls
importaciójson
importacióxmltodict
# obrint el fitxer XML
amb obert('hotels.xml','r') comxmlfileObj:
#converting xml data to dictionary
dit_dict=xmltodict.analitzar(fitxer xmlObj.llegir())
fitxer xmlObj.Tanca()
#creating objecte JSON mitjançant l'objecte diccionari
jsonObj=json.abocadors(dit_dict)

#storing de dades json al fitxer json
amb obert('hotels.json', 'dins') comjsonfileObj:
jsonfileObj.escriure(jsonObj)
jsonfileObj.Tanca()

Sortida

L'intèrpret de Python no mostra cap error; vol dir que les dades JSON es desen correctament en un fitxer .json.

Conclusió

XML i JSON són dos formats de dades populars per emmagatzemar dades. Les dades XML es poden convertir en format JSON mitjançant el mòdul xmltodict i JSON. En aquest article s’explica la conversió de dades XML a JSON amb exemples.