UltKit

Convertir JSON a XML

Entregue datos JSON a software que solo entiende XML. Cada registro se convierte en un elemento, cada clave en una etiqueta hija, y todo el documento queda bajo un único elemento raíz cuyo nombre usted elige.

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 JSON

    Agregue un archivo .json, como la respuesta de una API, o un archivo JSON Lines. Hasta 20 archivos de 95 MB cada uno.

  2. 2

    Ponga nombre al elemento raíz

    En Opciones avanzadas, escriba la etiqueta exterior en Etiqueta raíz XML (empieza como rows) y deje activado Formato legible para obtener una salida con sangría.

  3. 3

    Convierta y adapte

    Pulse Convertir a XML y descargue. Cambie el nombre de las etiquetas donde el esquema del sistema receptor espere otros nombres.

Por qué convertir JSON a XML si la mayoría de las API ya usan JSON

JSON ganó la batalla de las API web; su especificación actual, el RFC 8259 de 2017, cabe en unas pocas páginas. XML es más antiguo, Recomendación del W3C desde febrero de 1998, y nunca salió de los ámbitos donde los contratos son estrictos: banca, facturación electrónica, edición y declaraciones ante el Estado.

Por eso el sentido de esta conversión suele seguir al dinero o a la normativa. Un desarrollador obtiene pedidos de una API JSON y tiene que enviarlos al servicio SOAP de un socio. Una tienda guarda sus productos en JSON, pero el comparador de precios quiere un feed XML. Un equipo guarda las traducciones en JSON y la compilación de Android espera strings.xml. Cuando el destino es una hoja de cálculo, JSON a CSV entrega filas en lugar de elementos.

Sistemas que todavía esperan XML como entrada

Dónde se usa un convertidor de JSON a XML
OrganismoRequisitoFuente
Servicios web SOAPCada solicitud viaja como un sobre XML; SOAP 1.2 se convirtió en Recomendación del W3C en 2003—
Google Merchant CenterAcepta feeds de productos en XML con RSS 2.0 o Atom 1.0, además de texto delimitado—
Facturación electrónica PeppolLas facturas se intercambian como documentos XML UBL 2.1 según las reglas Peppol BIS Billing 3.0—
Aplicaciones AndroidLos textos y las traducciones viven en res/values/strings.xml—

Ejemplo de JSON a XML: dos productos

XML generado a partir de [{"sku":"A-17","precio":12.5,"etiquetas":["nuevo","oferta"]}, {"sku":"B-02","precio":8}]
<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <sku>A-17</sku>
    <precio>12.5</precio>
    <etiquetas>nuevo</etiquetas>
    <etiquetas>oferta</etiquetas>
  </row>
  <row>
    <sku>B-02</sku>
    <precio>8</precio>
  </row>
</rows>

MitoJSON y XML se corresponden uno a uno, así que la conversión es exacta.

RealidadXML tiene atributos, contenido mixto y espacios de nombres que JSON no tiene, y JSON tiene tipos que XML no tiene. Un convertidor debe elegir una correspondencia; este usa elementos hijos en todos los casos.

MitoEl número 12.5 sigue siendo un número en el XML.

RealidadXML guarda caracteres. 12.5 es texto hasta que un esquema o el programa que lo lee dice que es un decimal.

Qué cambia cuando el JSON pasa a XML

Conviene revisar tres cosas. Los tipos se aplanan a texto, así que true, null y 0 llegan como caracteres; un null suele convertirse en un elemento vacío. Las claves que no son nombres XML válidos deben renombrarse, porque una etiqueta no puede empezar por un dígito ni contener un espacio. Y la salida pesa más, porque cada valor va envuelto en una etiqueta de apertura y otra de cierre que repiten la clave.

No se pierde nada más. El anidamiento se conserva como elementos anidados, se mantiene el orden de los registros y el texto Unicode queda intacto porque el archivo se escribe en UTF-8. Hay más opciones para datos estructurados, de YAML a SQL, en la página del convertidor de datos.

Datos de los formatos JSON y 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

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

El JSON se convierte a XML cuando datos modernos tienen que entrar en un contrato más antiguo: un endpoint SOAP, un feed de productos, una red de facturación electrónica o un archivo de configuración cuyo lector se escribió para analizar elementos, no llaves.

Preguntas frecuentes sobre convertir JSON a XML

¿Por qué el XML necesita un elemento raíz si mi JSON empieza con un array?

La especificación XML 1.0 exige que todo documento bien formado tenga exactamente un elemento que contenga todo lo demás. Un array JSON no tiene ese envoltorio, así que el convertidor añade uno, con el nombre indicado en Etiqueta raíz XML, y coloca cada elemento del array dentro como un <row>.

¿Qué pasa con claves JSON como "2024 total" o "precio unitario" al convertir a XML?

Ninguna es un nombre de elemento XML válido: los nombres no pueden empezar por un dígito ni contener espacios. Cambie el nombre de esas claves en el JSON antes de convertir, idealmente por los nombres de etiqueta exactos que usa el esquema receptor, para que la salida no necesite limpieza posterior.

¿Cómo se escribe en XML un array JSON dentro de un registro?

Como el mismo elemento repetido una vez por cada entrada. Un array etiquetas con tres cadenas se convierte en tres elementos <etiquetas> seguidos. Un array vacío no deja nada, que es uno de los pocos casos en que JSON a XML pierde información.

¿El XML generado desde JSON pasará la validación XSD de mi socio comercial?

Solo si la estructura ya coincide. El convertidor escribe una copia fiel y bien formada de su JSON; no puede conocer el orden de elementos, los espacios de nombres ni los atributos que exige un socio. Use la salida como punto de partida y ajústela al esquema.

¿Puedo volver de XML a JSON?

Use XML a JSON. Habrá pequeñas diferencias en el viaje de ida y vuelta: XML guarda todos los valores como texto, así que un número o un true que empezó en JSON puede volver como cadena.