Convertidor Gratuito

XML to JSON Converter

Convert XML data or files to JSON format instantly in your browser. Supports custom indentation and handles nested structures.

Select XML file

or drag and drop here

O

Acerca de esta herramienta

XML y JSON son formatos de intercambio de datos, pero provienen de diferentes épocas de la web. XML, estandarizado en 1998, fue diseñado como un formato de marcado autodescriptivo con atributos, espacios de nombres y validación de esquemas. JSON surgió a principios de la década de 2000 como un formato más liviano que se adapta mejor a los tiempos de ejecución de JavaScript y las API modernas. La mayoría de las API web nuevas hablan JSON; Muchos sistemas más antiguos (servicios SOAP, fuentes RSS, archivos de configuración, integraciones empresariales) todavía producen XML. La conversión entre ellos es una de las tareas de interoperabilidad más comunes en el desarrollo moderno.

La conversión no es totalmente sin pérdidas porque los dos formatos tienen diferente poder expresivo. XML tiene atributos (que JSON no tiene de forma nativa), distingue entre contenido de texto y nombres de elementos, y admite contenido mixto (elementos que contienen tanto texto como elementos secundarios). El sencillo modelo de objeto/matriz de JSON no puede representar directamente estas características, por lo que los convertidores aplican convenciones: los atributos se convierten en claves con prefijo @, el contenido de texto se convierte en una clave #text, y así sucesivamente.

Este convertidor analiza XML utilizando el DOMParser integrado del navegador y recorre el árbol DOM resultante para producir JSON. Los elementos con el mismo nombre de etiqueta que los hermanos se recopilan en matrices; los atributos van en claves especiales; los espacios de nombres y las instrucciones de procesamiento se conservan cuando están presentes. El resultado es un JSON legible por humanos que regresa razonablemente a XML.

¿Por qué convertir XML a JSON?

La mayoría del código de aplicación moderno se siente más cómodo con JSON. JavaScript analiza JSON de forma nativa, el módulo json de Python está en la biblioteca estándar y prácticamente todos los demás lenguajes tienen soporte JSON equivalente de primera clase. El procesamiento XML requiere importar bibliotecas adicionales y escribir más texto estándar. Convertir XML entrante a JSON antes del procesamiento suele ser el camino más rápido desde el feed XML externo hasta la estructura de datos interna.

Las herramientas también se apoyan en JSON. Los embellecedores JSON, validadores, validadores de esquemas, lenguajes de consulta (jq, JSONPath) y visores son abundantes; los equivalentes XML son menos numerosos y frecuentemente más antiguos. Trabajar en JSON desbloquea un ecosistema de herramientas más rico.

Cómo usarla

Pegue XML y obtenga JSON.

  1. Pega o sube tu XML: Pegue texto XML en el área de entrada o suelte un archivo. El XML debe estar bien formado; XML con formato incorrecto produce un error de análisis en lugar de una suposición.
  2. Convertir: DOMParser construye un DOM, el convertidor recorre cada elemento y JSON se genera usando claves de atributo (@attr) y claves de contenido de texto (#text) cuando sea necesario. Los elementos hermanos con el mismo nombre se convierten en matrices.
  3. Revisar la estructura: Inspeccione el JSON para confirmar que los atributos, el texto y el anidamiento estén asignados como se esperaba. Las convenciones utilizadas (por ejemplo, @ para atributos) son visibles en el resultado.
  4. Descargar o copiar: Guárdelo como .json o cópielo al portapapeles.

Casos de uso comunes

Detalles técnicos

DOMParser produce un DOM XML idéntico al que utiliza el navegador para las páginas XHTML. El convertidor recorre este DOM de forma recursiva. Para cada elemento, crea un objeto JSON: los atributos se convierten en claves con el prefijo @ (por ejemplo, @id, @class); los elementos secundarios del elemento se repiten en la misma estructura; El contenido de texto, cuando está presente junto a los niños, vive bajo la clave #text.

Los elementos secundarios repetidos con el mismo nombre de etiqueta se recopilan en una matriz JSON. Un único hijo de un nombre de pila aparece como valor de objeto; varios niños aparecen como una serie de objetos. Esta convención funciona bien en la práctica, pero significa que la forma JSON depende de si los elementos aparecen una o varias veces, una imperfección conocida del mapeo XML a JSON.

Los espacios de nombres se conservan como parte de los nombres de los elementos (prefijo:nombrelocal). Las instrucciones de procesamiento y las secciones CDATA se convierten en contenido de texto. Las declaraciones XML y DOCTYPE se eliminan de la salida JSON pero no afectan los datos.

Mejores prácticas

Preguntas frecuentes

¿La conversión de XML a JSON cambia el contenido?
El contenido se conserva con la mayor precisión posible. Sin embargo, es posible que algunas características específicas del formato no tengan equivalentes directos, por lo que pueden ocurrir diferencias menores de formato.
¿Por qué convertir datos al formato JSON?
JSON es el formato de datos estándar para API web y aplicaciones JavaScript. Es legible por humanos, ampliamente compatible con lenguajes de programación y tiene una sintaxis más simple que XML.
¿El convertidor maneja estructuras XML anidadas o complejas?
Sí. La herramienta analiza correctamente objetos anidados, matrices y todos los tipos de datos XML estándar, preservando la estructura de datos completa en la salida JSON.
¿Esta conversión es segura y privada?
Sí. Todo el procesamiento ocurre localmente en su navegador. Sus datos nunca salen de su dispositivo: no se cargan en el servidor, no se procesan en la nube ni se recopilan datos.
¿Se manejan secciones CDATA?
Sí. El contenido CDATA se convierte a texto sin formato en la salida JSON. El envoltorio CDATA en sí no se conserva, pero sí el contenido.
¿Mis datos se suben a un servidor?
No. DOMParser se ejecuta en su navegador; la conversión ocurre completamente en su dispositivo.
¿El JSON regresará a XML?
Sí, si usa la convención inversa (la herramienta JSON a XML sigue las mismas reglas @attr y #text). El recorrido de ida y vuelta conserva la estructura del XML típico; Es posible que algunos casos extremos (orden de contenido mixto, instrucciones de procesamiento) no sobrevivan perfectamente.
¿Cuál es el tamaño máximo de entrada?
Hasta 50 MB. DOMParser está limitado a la memoria de su navegador; Los archivos XML muy grandes pueden ralentizarse o no poder analizarse.