XML a JSON
Convierte XML — respuestas SOAP, feeds RSS, exportaciones heredadas — en JSON, conservando atributos e informando errores de parseo.
Entrada XML
Salida JSON
Escribe XML a la izquierda para convertirlo.
¿Qué es XML a JSON?
Un conversor de XML a JSON parsea un documento XML y produce el árbol de objetos JSON equivalente. Es la dirección que surge cuando tienes que consumir algo que no controlas: una respuesta de un servicio web SOAP, un feed RSS o Atom, una exportación de datos de un banco o de una administración, un sitemap, un archivo de configuración de Android o Maven, o cualquier integración heredada anterior a las APIs JSON. Los dos formatos no se mapean perfectamente entre sí, y eso es lo que hace que la conversión merezca hacerse con cuidado y no a mano. XML distingue entre atributos y elementos hijos mientras que JSON solo tiene claves, y XML no tiene forma de decir "este elemento es una lista" — un contenedor con un solo elemento es estructuralmente idéntico a un contenedor con un único valor. Este conversor conserva los atributos en lugar de descartarlos, prefijándolos con @_ para que nunca colisionen con un elemento hijo real, y guarda el contenido de texto propio de un elemento bajo #text cuando ese elemento también lleva atributos.
Cómo usar XML a JSON
- Pega tu XML en el panel izquierdo, o carga un archivo .xml desde el disco con el icono de carpeta de la barra lateral.
- El árbol JSON aparece a la derecha de inmediato — los atributos aparecen como claves @_name, y el contenido de texto de un elemento aparece como #text siempre que ese elemento también tenga atributos.
- Si el documento no está bien formado, obtienes el mensaje del validador junto con la línea y columna exactas, para que encuentres rápido la etiqueta sin cerrar o que no coincide.
- Copia el JSON, o pulsa intercambio para invertir el conversor y generar XML a partir de JSON.
Ejemplos
Los elementos hermanos repetidos se convierten en array
Entrada
<r><i>1</i><i>2</i></r>
Salida
{ "r": { "i": [ 1, 2 ] } }
Los atributos se prefijan y el contenido de texto va bajo #text
Entrada
<r><i id="5">hi</i></r>
Salida
{ "r": { "i": { "#text": "hi", "@_id": "5" } } }
Errores comunes
- Escribir código que asume que un elemento repetido siempre es un array — cuando el documento de origen contiene exactamente uno de ellos, la misma clave se convierte en un valor único y el bucle se rompe en producción con datos reales.
- Pasar por alto el prefijo @_ de los atributos y buscar el nombre desnudo — el valor está ahí, solo que bajo @_id y no bajo id.
- Esperar que el texto de aspecto numérico siga siendo texto — un valor como <i>1</i> se convierte al número JSON 1, así que las cadenas de versión y los identificadores escritos como dígitos sueltos pierden su tipo cadena.
Por qué usar esta herramienta
- Se ejecuta íntegramente en el cliente — respuestas SOAP y exportaciones heredadas con registros sensibles nunca salen de tu navegador.
- Conserva los atributos con un prefijo @_ a prueba de colisiones en lugar de descartarlos en silencio, como hacen muchos conversores.
- Valida antes de convertir e informa de la línea y columna exactas del problema en lugar de producir una salida a medias parseada.