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:
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:
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