Python: de XML a JSON

Un archivo JSON es un archivo que almacena objetos y estructuras de datos simples en formato de notación de objetos JavaScript (JSON), que es un formato de intercambio de datos estándar. Se utiliza principalmente para transmitir datos entre una aplicación web y un servidor. Un objeto JSON contiene datos en forma de un par clave/valor. Las claves son strings y los valores son los tipos JSON. Las claves y los valores están separados por dos puntos. Cada entrada (par clave/valor) está separada por una coma. Los archivos JSON son livianos, basados ​​en texto, legibles por humanos y se pueden editar con un editor de texto.
Nota: Para obtener más información, consulte Trabajar con datos JSON en Python
XML .es un lenguaje de marcado que está diseñado para almacenar datos. Es sensible a mayúsculas y minúsculas. XML le ofrece definir elementos de marcado y generar un lenguaje de marcado personalizado. La unidad básica en el XML se conoce como elemento. El lenguaje XML no tiene etiquetas predefinidas. Simplifica el intercambio de datos, el transporte de datos, los cambios de plataforma, la disponibilidad de datos La extensión de un archivo XML es .xml
Nota: Para obtener más información, consulte XML | Conceptos básicos
Tanto el formato de archivo JSON como XML se utilizan para transferir datos entre el cliente y el servidor. 
Sin embargo, ambos tienen el mismo propósito, aunque difieren en su forma de actuar.
 

Comparación entre JSON y XML

JSON XML
El objeto JSON tiene un tipo Los datos XML no tienen tipo
Tipos JSON: string, número, array, booleano Todos los datos XML deben ser strings
Los datos son fácilmente accesibles como objetos JSON Los datos XML deben analizarse
JSON es compatible con la mayoría de los navegadores El análisis XML entre navegadores puede ser complicado
JSON no tiene capacidades de visualización XML ofrece la capacidad de mostrar datos porque es un lenguaje de marcado
JSON solo admite tipos de datos de texto y números. XML admite varios tipos de datos, como números, texto, imágenes, tablas, gráficos, etc. También brinda opciones para transferir la estructura o el formato de los datos con datos reales.
Recuperar valor es fácil Recuperar valor es difícil
Compatible con muchas herramientas de Ajax No es totalmente compatible con el kit de herramientas de Ajax
Una forma totalmente automatizada de deserializar/serializar JavaScript Los desarrolladores tienen que escribir código JavaScript para serializar/deserializar desde XML
Soporte nativo para objetos El objeto tiene que expresarse mediante convenciones, principalmente el uso perdido de atributos y elementos.
Solo admite la codificación UTF-8. Admite varias codificaciones
No admite comentarios. Admite comentarios.
Los archivos JSON son fáciles de leer en comparación con XML. Los documentos XML son relativamente más difíciles de leer e interpretar.
No proporciona ningún soporte para espacios de nombres. Admite espacios de nombres.
Es menos seguro. Es más seguro que JSON.

Convertir Xml a json

Para manejar el formato de archivo JSON, Python proporciona un módulo llamado json.
PASO 1: instale el módulo xmltodict usando pip o cualquier otro administrador de paquetes de python 
 

pip install xmltodict

PASO 2: importe el módulo json usando la palabra clave importar 
 

import json

PASO 3: Lea el archivo xml 
aquí, «data_dict» es la variable en la que hemos cargado nuestros datos XML después de convertirlos al tipo de datos del diccionario. 
 

with open("xml_file.xml") as xml_file:
    data_dict = xmltodict.parse(xml_file.read())

PASO 4: Cierre el archivo XML 
 

xml_file.close()

PASO 5: Convierta xml_data en un diccionario y guárdelo en un 
objeto JSON variable rodeado de llaves { }. Se escriben en pares clave y valor. 
json.loads() toma una string y devuelve un objeto json. 
json.dumps() toma un objeto json y devuelve una string. 
Usamos xml_data como string de entrada y generamos un objeto python, por lo que usamos json.dumps() 
 

json_data = json.dumps(data_dict)

Aquí, json_data es la variable utilizada para almacenar el objeto generado.
PASO 6: Escriba json_data en el archivo de salida 
 

with open("data.json", "w") as json_file:
        json_file.write(json_data)

PASO 7: Cierre el archivo de salida 
 

json_file.close()

Ejemplo:
Archivo XML:
 

python-xml-to-json

Python3

# Program to convert an xml
# file to json file
 
# import json module and xmltodict
# module provided by python
import json
import xmltodict
 
 
# open the input xml file and read
# data in form of python dictionary
# using xmltodict module
with open("test.xml") as xml_file:
     
    data_dict = xmltodict.parse(xml_file.read())
    xml_file.close()
     
    # generate the object using json.dumps()
    # corresponding to json data
     
    json_data = json.dumps(data_dict)
     
    # Write the json data to output
    # json file
    with open("data.json", "w") as json_file:
        json_file.write(json_data)
        json_file.close()

Producción:
 

python-xml-to-json

Publicación traducida automáticamente

Artículo escrito por abhinash_giri y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *