Saltar al contenido

Convertir JSON a XML

Convierte JSON en XML válido e indentado: las claves pasan a ser elementos, los arreglos los repiten y las claves con @ se convierten en atributos. La conversión se hace en tu navegador.

Convertir a
Se ejecuta en tu navegador · sin subir archivosCómo funciona

Cómo usar JSON a XML

  1. 1

    Pega el JSON

    Un objeto, un array de registros o la respuesta de una API; también puedes soltar un archivo .json.

  2. 2

    Pon nombre a los elementos

    Deja vacío el elemento raíz para tomarlo de los datos y define el nombre de elemento que se usa para los ítems de los arrays simples.

  3. 3

    Descarga el XML

    Con sangría de espacios o tabulaciones, o en una sola línea, con o sin la declaración <?xml?>.

Límites y Pro

Archivos JSON de hasta 500 MB; texto pegado de cualquier tamaño que tu navegador pueda manejar.

Archivos JSON de hasta 4 GB. Ver Pro

Acerca de JSON a XML

De JSON a XML escribe datos JSON como un documento XML para sistemas que todavía intercambian XML: importaciones de contabilidad y ERP, esquemas de facturación electrónica, servicios SOAP, recursos de Android y muchas integraciones heredadas.

Cada clave se convierte en un elemento y cada array repite su elemento, de modo que {"book": [{…}, {…}]} pasa a ser dos elementos <book> consecutivos, la forma que suelen esperar los esquemas XML. Un array en el nivel superior, que XML no admite, se envuelve en un elemento raíz con un elemento de ítem por cada entrada, y una única clave de primer nivel que contenga un array, como {"orders": […]}, pasa a ser la raíz con hijos <order> en singular. Si el objeto tiene exactamente una clave de primer nivel, esa clave es la raíz; si no, la raíz se llama root, o el nombre que escribas.

Las claves que empiezan por @ se convierten en atributos y una clave "#text" pasa a ser el texto del elemento, la misma convención que usa la conversión de XML a JSON, así que los datos pueden ir en ambos sentidos. Activa «Escribir valores simples como atributos» para registros compactos como <user id="1" name="Ann"/>.

JSON admite nombres de clave que XML no permite, así que los nombres se corrigen: los espacios y otros caracteres no válidos pasan a ser guiones bajos y un nombre que empieza por un dígito recibe un guion bajo delante ("1st place" → _1st_place). El texto se escapa (&, < y > en el contenido; comillas en los atributos), se eliminan los caracteres que XML prohíbe, null pasa a ser un elemento vacío y los arrays anidados reciben hijos item.

La salida es UTF-8. Es XML bien formado; no se comprueba contra un esquema XSD, así que el orden de los elementos y los campos obligatorios siguen dependiendo de tus datos.

Privacidad

El JSON que pegas o sueltas lo lee y lo convierte a XML un proceso de trabajo en esta pestaña del navegador; no se envía a ningún servidor ni se guarda en ningún sitio.

JSON a XML: preguntas frecuentes

¿Cómo genero atributos en lugar de elementos hijo?
Pon @ delante de la clave en tu JSON: el registro {"@id": 5, "name": "Ann"} dentro de un array da <item id="5"><name>Ann</name></item>. Para convertir de una vez todos los valores simples (texto, número, true/false) en atributos, activa «Escribir valores simples como atributos»; los objetos y arrays siguen siendo elementos hijo porque los atributos solo pueden contener texto.
¿Cómo se llamará el elemento raíz?
Cuando el JSON es un objeto con una sola clave, como {"catalog": {…}}, esa clave pasa a ser la raíz. Si no, el conversor lo envuelve todo en <root>. Escribe cualquier nombre en «Elemento raíz» para cambiar ambos casos; los caracteres no válidos se sustituyen para que el documento siga siendo válido.
¿Cómo se escriben los arrays en XML?
Un array bajo una clave repite el elemento de esa clave: "tag": ["a", "b"] pasa a ser <tag>a</tag><tag>b</tag>. Los arrays sin clave propia, como un array de nivel superior o uno dentro de otro array, reciben elementos item, un nombre que puedes cambiar. Un array vacío se convierte en un elemento vacío para no perder la clave.
¿Se escapan los caracteres especiales?
Sí. Los símbolos & y los paréntesis angulares en el texto pasan a &amp;, &lt; y &gt;; las comillas, tabulaciones y saltos de línea dentro de valores de atributo se escriben como referencias de carácter. Los caracteres de control que XML 1.0 prohíbe se eliminan. Las letras de cualquier alfabeto, incluidos los emoji, se escriben tal cual, ya que el documento es UTF-8.
¿Se puede validar el resultado con mi XSD?
Aquí no: el conversor produce XML bien formado, pero no conoce tu esquema. Da al JSON la forma que el esquema espera (nombres de clave, orden de las claves, @ para atributos), convierte y valida el archivo con tu editor XML o con el sistema receptor. El orden de las claves en la salida sigue el orden de tu JSON.

Otras tareas con esta herramienta