XML ↔ JSON Transformer
Convierte XML a JSON y viceversa, en vivo, en ambas direcciones. Atributos, anidamiento y etiquetas repetidas manejados correctamente.
XML
JSON
¿Qué es XML ↔ JSON Transformer?
XML y JSON son dos formatos de texto distintos para estructurar datos — XML envuelve los valores en etiquetas con nombre como <title>Dune</title>, mientras que JSON usa pares clave-valor como { "title": "Dune" }. Los sistemas más viejos (APIs SOAP, archivos de configuración, feeds RSS) suelen hablar XML, mientras que la mayoría de las APIs modernas hablan JSON, así que convertir entre ambos es una tarea común. Esta herramienta lo hace en vivo, en ambas direcciones, sin perder atributos ni elementos repetidos.
Cómo usar XML ↔ JSON Transformer
- Pegá tu XML en el panel XML de la izquierda (o hacé clic en Ejemplo para cargar uno de muestra) — el panel JSON se actualiza automáticamente.
- También podés editar el panel JSON directamente y el lado XML se actualiza para coincidir.
- Usá Copiar o Descargar en cualquiera de los dos paneles para obtener ese resultado.
- Usá Limpiar para empezar de nuevo.
Cómo funciona la conversión XML ↔ JSON
Los elementos, atributos y texto de XML no se corresponden con JSON de una única forma obvia, así que esta herramienta sigue una convención explícita y consistente en ambas direcciones:
- Un atributo XML se convierte en una clave JSON con el prefijo
@. - El texto que coexiste con atributos o elementos hijos se convierte en una clave
#text; un elemento con solo texto (sin atributos ni hijos) se colapsa en un string JSON plano. - Un solo elemento hijo se mantiene como un objeto plano; en cuanto aparece un segundo hermano con la misma etiqueta, ambos se agrupan en un array JSON — así las etiquetas repetidas nunca se sobrescriben en silencio.
// XML
<library>
<book id="1"><title>Dune</title></book>
<book id="2"><title>Foundation</title></book>
</library>
// JSON
{
"library": {
"book": [
{ "@id": "1", "title": "Dune" },
{ "@id": "2", "title": "Foundation" }
]
}
}
La conversión usa el DOMParser nativo del navegador y construcción de strings equivalente a XMLSerializer — sin librerías externas, sin llamadas a servidor.
Preguntas frecuentes
¿Cómo se representan los atributos XML en el JSON resultante?
Cada atributo se convierte en una clave JSON con el prefijo @, por ejemplo el atributo id de <book id="1"> se convierte en "@id": "1". El texto que coexiste con atributos o elementos hijos se convierte en una clave #text.
¿Qué pasa con los elementos hermanos repetidos, como varias etiquetas <book>?
Se convierten en un array JSON. Un solo <book> se mantiene como un objeto plano, pero en cuanto aparece un segundo hermano con la misma etiqueta, ambos se agrupan en un array para que ningún dato se sobrescriba en silencio.
¿Soporta secciones CDATA?
Sí, al importar — el contenido CDATA se lee como texto plano. Al convertir de nuevo a XML siempre se genera texto escapado en lugar de volver a envolverlo en un bloque CDATA, ya que un string JSON no puede registrar que originalmente era CDATA.
¿Es seguro pegar XML o JSON sensible aquí?
Sí. Todo el análisis y la conversión ocurren en tu navegador usando las APIs nativas DOMParser y JSON; nada se envía nunca a un servidor.