Conversor XML ⇄ JSON

Acerca de esta herramienta

Convierte XML y JSON en ambos sentidos con valores predeterminados pensados para ida y vuelta. Los elementos con el mismo nombre se mantienen como escalares hasta que aparece el segundo; a partir de ahí se tratan como arreglos. Cuando la raíz JSON es un arreglo, el lado XML usa <root><item>…</item>…</root> y al volver a JSON recupera esa forma como arreglo.

Conversión XML ⇄ JSON

Cómo utilizarla

  1. Pega XML o JSON en el área de entrada izquierda.
  2. Elige XML → JSON o JSON → XML.
  3. Ajusta la sangría, las claves de atributo/texto, el manejo de espacios de nombres y el tratamiento de arreglos según sea necesario.
  4. Utiliza los botones de Validar para comprobar la sintaxis.

Notas

Ejemplos

XML → JSON:

<user id="42">
  <name>Taro</name>
  <role>admin</role>
  <role>editor</role>
</user>
{
  "user": {
    "@id": "42",
    "name": "Taro",
    "role": ["admin", "editor"]
  }
}

Notas adicionales

  • Los atributos se emiten como [prefijo de atributo][nombre] (predeterminado @id).
  • El contenido de texto del elemento usa [clave de texto] (predeterminado #text).
  • Los elementos con el mismo nombre permanecen como escalares salvo que haya dos o más valores; entonces se convierten en arreglos.
  • Cuando la raíz JSON es un arreglo, XML lo representa como <root><item>…</item>…</root>; el nombre de la etiqueta es configurable.
  • Los elementos vacíos sin texto ni atributos se convierten en objetos vacíos {}.

Limitaciones

La herramienta busca la equivalencia estructural, pero cierta fidelidad de tipos es imposible porque XML no dispone de booleanos ni números nativos. Por ejemplo:

JSON original:


    "urls": [
             "admin.microsoft.com"
            ],
    "expressRoute": false,
    "id": 160,

JSON tras ida y vuelta:


    "urls": "admin.microsoft.com",
    "expressRoute": "false",
    "id": "160",

Esto ocurre porque la representación XML no puede garantizar la longitud de los arreglos ni conservar los tipos booleano/numérico sin anotaciones adicionales.

Todo el procesamiento se realiza en tu navegador; no se envían datos.