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 hace 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 la cadena, matrices, números, 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 xmltodictSi 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-xmltodictEl 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 incorporado. Por tanto, se elimina la necesidad de instalarlos. El xmltodict.La función parse () convierte los datos XML en un diccionario de Python. Entonces, el json.La función 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 xmltodict.función parse ().
En segundo lugar, convertimos el objeto del diccionario Python al formato JSON usando json.función dumps (). En json.función dumps (), la propiedad de sangría se utiliza para agregar espacios entre los datos.
#importar los módulosimportar xmltodict
importar json
#declarando el xml
my_xml = "" "
"" "
# conversión de XML a diccionario Python
dict_data = xmltodict.analizar (my_xml)
#cubriendo a json
json_data = json.volcados (dict_data, sangría = 2)
imprimir (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
importar json
importar xmltodict
# abriendo el archivo xml
con hoteles abiertos (".xml "," r ") como xmlfileObj:
# conversión de datos xml a diccionario
data_dict = xmltodict.analizar (xmlfileObj.leer())
xmlfileObj.cerca()
#creando un objeto JSON usando un objeto de diccionario
jsonObj = json.volcados (data_dict)
# almacenamiento de datos json en un archivo json
con hoteles abiertos (".json "," w ") como jsonfileObj:
jsonfileObj.escribir (jsonObj)
jsonfileObj.cerca()
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.