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
Convert XML data or files to JSON format instantly in your browser. Supports custom indentation and handles nested structures.
or drag and drop here
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.
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.
Pegue XML y obtenga JSON.
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.