Skip to content
jsonforge.app

XML a JSON

Convierte XML — respuestas SOAP, feeds RSS, exportaciones heredadas — en JSON, conservando atributos e informando errores de parseo.

Entrada XML

Loading editor…

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

  1. Pega tu XML en el panel izquierdo, o carga un archivo .xml desde el disco con el icono de carpeta de la barra lateral.
  2. 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.
  3. 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.
  4. 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.

Preguntas frecuentes