Saltar al contenido
TextArray
Totalmente local

Conversor de XML a JSON

Convierta XML en JSON equivalente, con atributos con prefijo y etiquetas repetidas como matrices.

Entrada

Conversor de XML a JSON

Tanto XML como JSON describen datos estructurados, pero las herramientas que lo rodean rara vez hablan ambos. Una antigua API SOAP, una fuente RSS, un diseño de Android, un archivo de configuración o una exportación de datos le entregan XML; su script, su base de datos o su interfaz quieren JSON. Esta herramienta convierte entre ellos con un analizador real (no un truco de expresiones regulares) que maneja correctamente las partes incómodas de XML: elementos anidados, atributos, contenido mixto, etiquetas de cierre automático, comentarios, secciones CDATA, la declaración XML y DOCTYPE.

El mapeo sigue la convención ampliamente utilizada. Los atributos de un elemento se convierten en claves con el prefijo @ (configurable), por lo que <user id="7"> proporciona "@id": "7". Los elementos secundarios se anidan como objetos; cuando una etiqueta se repite (tres elementos <item> seguidos) se colapsan en una sola matriz, que es exactamente lo que desea para las listas. Un elemento que sólo tiene texto se convierte en una cadena simple; uno que tiene texto y atributos mantiene su texto bajo una clave #text. Entidades como & y referencias numéricas como A se decodifican y el contenido CDATA se toma literalmente.

Debido a que es un analizador de descenso recursivo genuino, valida tal como lee: una etiqueta de cierre que no coincide, un comentario no terminado o contenido extraviado después de la raíz produce un error claro con el número de línea, en lugar de alterar silenciosamente la salida. Elija una sangría de dos o cuatro espacios para obtener un resultado legible, o minimice a una sola línea para incrustar.

Todo se ejecuta localmente en su navegador: sus datos nunca salen de su dispositivo, lo cual es importante para las exportaciones XML que a menudo contienen registros e identificadores.

Preguntas frecuentes

¿Cómo se representan los atributos XML en JSON?
Como claves con el prefijo @ de forma predeterminada (puede cambiar el prefijo). Entonces <book lang="en"> se convierte en { "book": { "@lang": "en" } }. Esta es la convención utilizada por bibliotecas como xml-js y Badgerfish, por lo que el resultado se incluye en la mayoría de las cadenas de herramientas.
¿Qué pasa con las etiquetas repetidas?
Se convierten en una matriz. Tres elementos secundarios <item> colapsan en "item": […], que es lo que necesita una lista. Una etiqueta que aparece una vez permanece con un valor único; tenga en cuenta que significa un documento con un elemento y otro con varios mapas de diferentes formas, lo cual es inherente a XML→JSON.
¿Maneja contenido mixto y CDATA?
Sí. Un elemento con texto e hijos (o atributos) mantiene su texto bajo una clave #text. Las secciones CDATA se toman literalmente, por lo que su marcado <raw> y sus caracteres & sobreviven sin ser analizados. Se omiten los comentarios y las instrucciones de procesamiento.
¿Por qué informó un error en lugar de realizar la conversión?
Es un analizador de validación: una etiqueta de cierre que no coincide, un atributo sin comillas, un comentario o contenido sin terminar después del elemento raíz detienen la conversión con un mensaje numerado de línea. Esto es deliberado: una conversión equivocada pero silenciosa es peor que un error claro.
¿Mi XML está subido a alguna parte?
No. El análisis y la conversión se ejecutan completamente en su navegador y sus datos nunca salen de su dispositivo.