Acerca de esta herramienta
XML y JSON son los dos formatos de texto dominantes para datos estructurados, pero se corresponden con estructuras distintas: XML contiene elementos, atributos, texto mixto y CDATA, mientras que JSON dispone de objetos, arrays y primitivos tipados. Este conversor analiza el XML con su propio tokenizador (sin DOMParser) y aplica una correspondencia predecible — los atributos se convierten en claves "@name", los elementos compuestos solo de texto se convierten en valores de tipo cadena, los elementos hermanos repetidos se agrupan en arrays, y un elemento que contiene a la vez atributos o hijos y texto conserva ese texto bajo una clave "#text". Las CDATA se leen como texto; los comentarios y la declaración XML se descartan. El sentido JSON → XML aplica las mismas reglas a la inversa, escapando el texto y los valores de atributo e indentando con dos espacios.
Úsalo para suministrar una carga útil SOAP o RSS heredada a una API que solo acepta JSON, para examinar una configuración XML densa como un árbol de objetos navegable, o para hacer un viaje de ida y vuelta de un documento y confirmar que su estructura se conserva. La opción «Tipar valores automáticamente» convierte las coincidencias de cadena completa como "42", "true" y "null" en auténticos números, booleanos y null de JSON para que el código posterior no tenga que volver a analizar las cadenas — desactívala cuando necesites que cada hoja siga siendo una cadena. En modo JSON → XML, define el nombre del elemento raíz que se usa cuando el JSON no es un objeto de clave única.
Ambas conversiones se ejecutan por completo en tu navegador — ningún XML ni JSON se envía jamás a un servidor.
Preguntas frecuentes
¿Cómo se representan los atributos XML en la salida JSON?
Cada atributo se convierte en una clave con el prefijo "@" en el objeto del elemento — por ejemplo <book id="42"> se convierte en {"book": {"@id": 42}}. Al reconvertir el JSON en XML, cualquier clave con el prefijo "@" vuelve a convertirse en un atributo.
¿Qué ocurre con los elementos XML repetidos y el contenido textual mixto?
Los elementos hermanos que comparten un nombre de etiqueta se agrupan en un array JSON. Cuando un elemento tiene atributos o elementos hijos además de su propio texto, ese texto se almacena bajo una clave "#text" para que no se pierda nada.
¿El conversor gestiona las CDATA, los comentarios y la declaración XML?
Las secciones CDATA se leen como texto plano y se fusionan en el valor del elemento. Los comentarios y la declaración <?xml ... ?> se descartan, ya que ninguno contiene datos que se correspondan limpiamente con JSON.