DevToolPal
ES

Conversor de JSON a XML

Convierte JSON en XML bien formado y sangrado, con los arrays como elementos repetidos y las claves "@" como atributos.

Se ejecuta en local, nunca se sube

Opciones

Entrada

0 caracteres · 0 B

Salida

0 caracteres · 0 B

Qué hace

Esta herramienta convierte datos JSON en XML. Los objetos se convierten en elementos, los arrays en elementos repetidos, las cadenas, números y booleanos en texto, y null en un elemento vacío. Las claves que empiezan por @ se convierten en atributos y una clave #text define el texto de un elemento, lo que refleja el formato que produce el conversor de XML a JSON, así que los datos pueden hacer el viaje de ida y vuelta.

Cómo se usa

  1. Pega el JSON en el cuadro de Entrada, sube un archivo .json o haz clic en Ejemplo.
  2. El XML aparece a la derecha mientras escribes. El JSON no válido se indica con su posición.
  3. Elige un estilo de Sangría, define el Nombre del elemento raíz, cambia el Prefijo de clave de atributo y decide si añadir la declaración <?xml ?>.
  4. Copia el XML o descárgalo como archivo .xml.

Ejemplo

{ "book": { "@id": "bk101", "title": "XML Guide", "tags": ["xml", "json"], "price": 44.95 } }

se convierte en

<?xml version="1.0" encoding="UTF-8"?>
<book id="bk101">
  <title>XML Guide</title>
  <tags>xml</tags>
  <tags>json</tags>
  <price>44.95</price>
</book>

Notas

Los caracteres especiales se escapan (&, <, > en el texto y también " en los atributos), así que cualquier parser XML puede cargar la salida. JSON no tiene forma de expresar espacios de nombres, comentarios ni CDATA, así que no se genera ninguno.

Preguntas frecuentes

› ¿Cómo creo atributos XML a partir de JSON?

Empieza la clave con "@". {"book": {"@id": "bk101", "title": "Guide"}} se convierte en <book id="bk101"><title>Guide</title></book>. Puedes cambiar el prefijo o dejarlo vacío para que todas las claves sean elementos.

› ¿Cómo se convierten los arrays JSON?

Un array repite su elemento padre una vez por cada elemento, así que {"tag": ["a", "b"]} se convierte en <tag>a</tag><tag>b</tag>. Un array de nivel superior, o un array directamente dentro de otro array, usa elementos <item>.

› ¿Qué pasa con las claves que no son nombres XML válidos?

Los espacios y símbolos se sustituyen por guiones bajos, y los nombres que empiezan por un dígito o por "xml" reciben un guion bajo delante, así que la salida siempre está bien formada.

› ¿De dónde sale el elemento raíz?

Si el objeto JSON tiene exactamente una clave, esa clave se convierte en la raíz. Si no, todo se envuelve en el nombre del elemento raíz de las opciones, "root" por defecto.