Convertir XML a JSON
Convierte documentos XML en JSON limpio.
Funciona en tu navegador. Nada de lo que escribes se envía a ningún sitio.
- Conserva los atributos
- Las etiquetas repetidas se convierten en arrays
- Ubicación exacta del error
Cómo convertir XML a JSON
- Pega tu XML o sube el archivo.
- Conserva o descarta los atributos con la casilla.
- Copia el JSON o descárgalo.
Ejemplo: entra XML, sale JSON
| XML | JSON |
|---|---|
| <name>Sam</name> | {"name":"Sam"} |
| <item id="5">Widget</item> | {"item":{"@_id":"5","#text":"Widget"}} |
| <tag>a</tag><tag>b</tag> | {"tag":["a","b"]} |
Qué conserva XML a JSON
- Los atributos, cuando la casilla está activada, como claves que empiezan por @_.
- El contenido de texto junto a los atributos bajo una clave #text, cuando un elemento tiene ambos.
- Las etiquetas hermanas repetidas como un array JSON, en el orden del documento.
- Los números con un cero a la izquierda, como 007, conservados como texto para que los ID nunca cambien.
Causas comunes de XML mal formado
- Una etiqueta sin cerrar o que no coincide.
- Un & o < suelto dentro del texto que debería escribirse como & o <.
- Dos elementos en el nivel superior, ya que el XML bien formado solo permite una raíz.
Dónde ayuda XML a JSON
- Leer la respuesta de una API SOAP antigua dentro de un frontend moderno basado en JSON.
- Convertir un feed RSS o Atom a JSON para que un script lo recorra.
- Inspeccionar un archivo de configuración exportado por software empresarial que solo habla XML.
- Comprobar qué contiene realmente la exportación de un sistema heredado antes de escribir un pipeline de importación completo para él.
Preguntas frecuentes sobre XML a JSON
¿Qué pasa con los atributos XML?
Se conservan como campos cuyo nombre empieza por @_, así que id="5" se convierte en "@_id": "5". Desactiva incluir atributos para dejarlos fuera.
¿Cómo se manejan los elementos repetidos?
Los elementos hermanos con el mismo nombre de etiqueta se convierten en un array JSON. Una etiqueta que aparece una sola vez se queda como un único valor.
¿Se convierten los números?
Los números simples como 42 se convierten en números JSON. Los valores con un cero a la izquierda, como 007, se quedan como texto para que los códigos e ID no cambien.
¿Por qué dice que mi XML está mal formado?
Normalmente una etiqueta no está cerrada, una etiqueta de cierre no coincide, o el texto contiene un símbolo & suelto que debería escribirse como &. El error indica la línea y la columna.
¿Se conservan los espacios de nombres XML?
El prefijo del espacio de nombres se queda como parte del nombre de la etiqueta, así que ns:id se convierte en una clave llamada literalmente ns:id, ya que el conversor no resuelve las URI de los espacios de nombres.
¿Qué pasa con una etiqueta autocerrada como <br/>?
Se convierte en un valor de cadena vacía, el mismo resultado que obtendrías con la forma larga <br></br>.
¿Qué pasa con los comentarios XML?
Se descartan. JSON no tiene sintaxis de comentarios para trasladarlos, así que solo se convierten los datos del elemento.
¿Puede convertir un archivo XML que tiene un DOCTYPE?
Sí, el DOCTYPE se lee y luego se deja fuera del JSON de salida, ya que solo controla la validación del XML y no tiene datos propios que trasladar.