Python XML a JSON

Python Xml Json



El lenguaje de marcado extensible (XML) y la notación de objetos JavaScript (JSON) son dos formatos de datos famosos para el almacenamiento de datos. Tanto JSON como XML nos permiten almacenar los datos de tal manera que sean legibles tanto por humanos como por máquinas. Para empezar, JSON es un tipo de estructura de datos que se utiliza principalmente para intercambiar datos entre servidores y aplicaciones de software. Almacena los datos como pares clave-valor. JSON crea un objeto de los datos donde los pares clave-valor se separan sobre la base de los dos puntos (:), y un par clave-valor completo separados por otros basados ​​en la coma.







Además, XML es un lenguaje de marcado de tipo HTML que también se utiliza para almacenar los datos. Pero el XML no proporciona ningún tipo de etiquetas predefinidas. Podemos crear nuestras propias etiquetas y almacenar los datos. Como comentamos, tanto JSON como XML se utilizan para intercambiar datos entre los servidores y las aplicaciones de software. Sin embargo, los dos formatos de datos difieren algo. JSON es un formato de almacenamiento de datos de tipo de objeto, mientras que XML no tiene ningún tipo. Los archivos XML solo almacenan los datos en formato de cadena y son más pesados ​​que el archivo JSON. Mientras que los archivos JSON pueden almacenar cadenas, matrices, números de punto flotante y booleanos.



Este artículo explica la conversión de XML a JSON usando Python. El módulo xmltodict de Python se utiliza para convertir el formato XML a JSON.



La instalación del módulo xmltodict

Antes de comenzar a convertir XML a JSON, necesitamos instalar el módulo xmltodict. El módulo xmltodict se puede instalar usando el paquete de índice de python (pip), y se puede instalar en Python 2 y 3. En el caso de pip2, ejecute el siguiente comando para instalar el módulo xmltodict:





pip instalar xmltodict

Si está utilizando pip3, ejecute el siguiente comando para instalar el módulo xmltodict:

pip3 instalar xmltodict



En el caso de un sistema basado en Debian, ejecute el siguiente comando para instalar el módulo xmltodict:

sudo apt install python-xmltodict

El comando anterior es adecuado para Python2. En el caso de la versión Python3, ejecute el siguiente comando:

sudo apt instalar python3-xmltodict

Conversión de XML a JSON

Ahora convierta los datos XML a formato JSON. Usaremos el módulo xmltodict y JSON para esta conversión. El json es un módulo de Python integrado. Por tanto, se elimina la necesidad de instalarlos. La función xmltodict.parse () convierte los datos XML en un diccionario de Python. Luego, la función json.dumps () toma el objeto de diccionario convertido como argumento y lo convierte al formato JSON. Entonces este es un proceso de dos pasos:

Primero tenemos que convertir el XML en un objeto de diccionario de Python usando la función xmltodict.parse ().

En segundo lugar, convertimos el objeto del diccionario Python al formato JSON usando la función json.dumps (). En la función json.dumps (), la propiedad sangría se usa para agregar espacios entre los datos.

#importar los módulos
importarxmltodict
importarjson
#declarando el xml
my_xml= '''


1
Los Jardines del Marais
3
Internet
Cierto


2
Pequeño Palacio Golden Tulip
4

Internet
Gimnasio
Estacionamiento
Restaurante

Falso


'''

# conversión de XML a diccionario Python
dict_data=xmltodict.analizar gramaticalmente(my_xml)
#cubriendo a json
json_data=json.deshecho(dict_data,sangrar=2)
impresión(json_data)

Producción

El resultado muestra que el XML se convirtió correctamente al formato JSON.

Conversión de archivo XML a archivo JSON

Los datos de los archivos XML se pueden convertir y guardar en el archivo JSON. Vamos a abrir el archivo XML, convertir los datos XML a JSON y almacenarlos en un archivo JSON.

El siguiente es el archivo XML.

#importar los módulos
importarjson
importarxmltodict
# abriendo el archivo xml
con abierto('hoteles.xml','r') comoxmlfileObj:
# conversión de datos xml a diccionario
data_dict=xmltodict.analizar gramaticalmente(xmlfileObj.leer())
xmlfileObj.cerrar()
#creando un objeto JSON usando un objeto de diccionario
jsonObj=json.deshecho(data_dict)

# almacenamiento de datos json en un archivo json
con abierto('hotels.json', 'en') comojsonfileObj:
jsonfileObj.escribir(jsonObj)
jsonfileObj.cerrar()

Producción

El intérprete de Python no muestra ningún error; significa que los datos JSON se guardan correctamente en un archivo .json.

Conclusión

XML y JSON son dos formatos de datos populares para almacenar datos. Los datos XML se pueden convertir a formato JSON utilizando el módulo xmltodict y JSON. Este artículo explica la conversión de datos XML a JSON con ejemplos.