UltKit

Convertir XML a JSON

Saque los datos de una respuesta SOAP, un feed RSS, un archivo de configuración o la exportación de un sistema heredado y páselos al JSON que su JavaScript, Python o herramienta sin código lee de forma nativa, sin escribir un analizador a mano.

Convertidor de datos

o suelte aquí archivos CSV, TSV, TXT … ·

Máx. 95 MB por archivo· Hasta 20 archivos· Se borran a los 30 minutos

Salida

Los archivos se procesan en nuestros servidores y se borran a los 30 minutos.

Cómo usar esta herramienta

  1. 1

    Suba el XML

    Suelte archivos .xml en la zona de carga, hasta 20 por lote y 95 MB cada uno. Cada archivo se convierte por separado.

  2. 2

    Elija legible o compacto

    Formato legible está activado: el JSON sale con sangría para leerlo y revisar código. Desactívelo en Opciones avanzadas para obtener la salida más pequeña, en una sola línea, para el cuerpo de una API.

  3. 3

    Convierta y use el JSON

    Pulse Convertir a JSON, descargue el archivo .json y cárguelo en su código o herramienta.

Suba el XML y pulse Convertir a JSON: los elementos se convierten en claves, los elementos repetidos en arrays y los atributos se conservan como claves con el prefijo @, así que no se pierde ninguna información de las etiquetas.

Quién necesita un convertidor de XML a JSON

XML 1.0 se convirtió en Recomendación del W3C en febrero de 1998, y durante la década siguiente fue la forma en que se comunicaban los sistemas: servicios web SOAP, feeds RSS y Atom, documentos de Office, mensajes bancarios, catálogos de productos. Muchos de esos sistemas siguen funcionando. JSON, especificado en RFC 8259, se impuso en las API web nuevas porque JavaScript lo lee sin una biblioteca de análisis y porque se corresponde directamente con listas y diccionarios en casi cualquier lenguaje.

Por eso quienes convierten suelen estar uniendo las dos épocas. Un desarrollador front-end recibe una respuesta SOAP de un proveedor de pagos o envíos y quiere un objeto simple. Quien arma automatizaciones en Zapier o Make lleva el feed XML de un proveedor a un flujo que funciona mejor con JSON. Un ingeniero de datos migra archivos de configuración de una aplicación Java antigua, o un estudiante necesita un feed RSS en JSON para un trabajo de clase. Todos quieren la misma estructura sin los corchetes angulares.

Convertir XML a JSON: cómo se corresponden etiquetas, atributos y texto

Entrada XML: un pedido con un atributo, un cliente y dos artículos
<order id="A-77">
  <customer>Lucía Ortiz</customer>
  <total currency="EUR">59.90</total>
  <item sku="0042">Lámpara de escritorio</item>
  <item sku="0108">Bombilla LED</item>
</order>
Cómo aparece en el JSON cada parte del pedido anterior
Construcción XMLEjemploResultado JSON
Elemento raíz<order>Clave de primer nivel order
Atributoid="A-77""@id": "A-77"
Elemento solo con texto<customer>"customer": "Lucía Ortiz"
Texto más atributo<total currency="EUR">59.90{"@currency": "EUR", "#text": "59.90"}
Elemento repetidodos etiquetas <item>array "item": [ … , … ]
Comentario<!-- nota -->Se descarta; JSON no tiene comentarios

XML

Extensible Markup Language

XML es un lenguaje de marcado para datos estructurados publicado por el W3C en 1998. Usa etiquetas anidadas con atributos y admite esquemas, espacios de nombres y validación, lo que lo hace robusto para documentos complejos. Es la base de los feeds RSS, SVG, los documentos de Office, los sitemaps y muchos intercambios de datos empresariales y gubernamentales. XML es más extenso que JSON, pero todos los lenguajes de programación y muchas herramientas de hojas de cálculo pueden leerlo.

Compresión
–
Transparencia
–
Animación
–
Presentado en
1998 · W3C
Convertidor de XML

JSON

JavaScript Object Notation (JSON)

JSON es un formato de texto ligero para datos estructurados, popularizado por Douglas Crockford a principios de la década de 2000 y estandarizado como RFC 8259 y ECMA-404. Representa objetos, arreglos, cadenas, números, booleanos y null con una sintaxis sencilla y legible. Es el formato predeterminado para las API web, los archivos de configuración y el intercambio de datos entre aplicaciones en casi todos los lenguajes de programación. No incluye comentarios, fechas ni esquemas, y los archivos grandes y anidados son difíciles de leer sin un visor.

Compresión
–
Transparencia
–
Animación
–
Presentado en
2001 · Douglas Crockford
Convertidor de JSON

El XML pasa a JSON cuando datos de un sistema antiguo o empresarial tienen que llegar a una aplicación web, un script o una herramienta de automatización: JSON se analiza de forma nativa en JavaScript y se corresponde directamente con los diccionarios de Python.

Funciones de XML que no tienen lugar en JSON

Ambos formatos describen árboles, pero XML trae extras que JSON nunca tuvo. Los espacios de nombres, definidos por el W3C en 1999, permiten mezclar vocabularios como soap: y xsi: en un mismo documento; en JSON solo sobreviven como parte de los nombres de clave. Los comentarios y las instrucciones de procesamiento no tienen dónde ir y se descartan. El contenido mixto, es decir, texto intercalado con etiquetas hijas como en un párrafo XHTML con una palabra en negrita, es XML válido pero resulta incómodo en JSON, así que el XML de tipo documento conviene convertirlo a HTML o Markdown y no a JSON.

El orden es el punto delicado. XML mantiene los elementos hermanos en secuencia, y un esquema puede depender de ello; las claves de un objeto JSON, según el estándar, no tienen orden. Los elementos repetidos conservan su orden dentro de su array, lo que cubre la mayoría de los datos reales. Si el XML es una lista plana de registros que debe terminar en una hoja de cálculo y no en código, XML a Excel le da filas y columnas directamente, y XML a CSV genera un archivo para importar en una base de datos.

Preguntas sobre el convertidor de XML a JSON

¿Por qué un elemento XML sale como array en un JSON y como objeto en otro?

Un convertidor solo ve lo que hay en el documento. Si un pedido tiene tres etiquetas item, los artículos se convierten en un array; si tiene una, no hay nada que repetir, así que se convierte en un solo objeto. El código que lea el JSON debería aceptar ambas formas, o envolver un objeto único en un array antes de recorrerlo.

¿Cómo se escriben los atributos XML en el JSON?

Cada atributo se convierte en una clave con una @ delante de su nombre, así que currency="EUR" pasa a ser "@currency": "EUR". Cuando un elemento tiene atributos y texto, el texto va en una clave #text junto a ellos. Esta convención evita que atributos y elementos hijos choquen cuando comparten nombre.

¿Los números del XML se convierten en números JSON?

XML no tiene tipos de datos propios; 42 y "42" se ven igual dentro de una etiqueta. Por eso los valores salen como cadenas, lo que protege códigos postales e ID como 007. Convierta a número los campos que su código necesite después de analizar el JSON.

¿Qué pasa con prefijos de espacio de nombres como soap:Envelope al pasar a JSON?

El prefijo sigue formando parte del nombre de la clave, así que el sobre aparece como soap:Envelope y la declaración del espacio de nombres como una clave @xmlns:soap. Así se mantienen separados los elementos de vocabularios distintos; quite los prefijos en su código si solo trabaja con uno.

¿Puedo volver a convertir el JSON en XML después?

Sí, con JSON a XML. Siguiendo la misma convención de @ y #text, los atributos vuelven como atributos. Los comentarios y la sangría original no regresan, porque el JSON nunca los contuvo.