XML a JSON
Analiza cualquier documento XML y conviértelo en JSON. Los elementos hermanos repetidos se agrupan en arrays, los atributos y textos se conservan y el XML
Analiza un documento XML y conviértelo en JSON: los elementos hermanos repetidos se convierten en arrays, los atributos y el contenido de texto se conservan, y el XML no válido se indica con la posición del problema antes de que ocurra cualquier conversión.
Resulta útil cuando una API o una exportación te da XML pero el resto de tus herramientas habla JSON: una respuesta SOAP, un feed de datos, una exportación de configuración. Los atributos se mantienen junto a los elementos hijos para que no se descarte nada, y la estructura es fácil de asignar después a tu propio esquema.
Cómo convertir XML a JSON
Pega tu XML
Conviértelo y revisa la estructura
Copia o descarga el JSON
Preguntas frecuentes
¿Cómo se gestionan los elementos repetidos?
Los hermanos con el mismo nombre de etiqueta se convierten en un array, sea cual sea su número, así que una lista de un solo elemento se analiza igualmente como lista y no como objeto suelto.
¿Qué pasa con los atributos?
Se conservan como propiedades junto al contenido del elemento, así que no se pierde nada. Ajusta los nombres en tu paso de asignación si tu esquema espera un objeto de atributos aparte.
¿Puedo mantener el orden original de los elementos?
Los objetos JSON no tienen orden por definición, así que el orden de los elementos no está garantizado. Si el orden importa semánticamente, conserva el XML de origen como referencia.
¿Por qué se ha rechazado mi XML?
Las causas habituales son etiquetas sin cerrar, un prefijo de espacio de nombres sin declarar o texto suelto antes de la declaración XML. El mensaje de error señala la posición donde falló el análisis.
¿Admite CDATA y espacios de nombres?
Las secciones CDATA se leen como texto y los prefijos de espacio de nombres se mantienen como parte de los nombres de los elementos, que es normalmente lo que quieres para una asignación fiel.
¿Se sube mi XML?
No, el análisis ocurre en local en tu navegador.
De un vistazo
| Entrada | XML |
|---|---|
| Varios archivos | No |
| Dónde se ejecuta | En tu navegador: los archivos no se suben nunca |
| Funciona sin conexión | Sí — una vez cargada la página |
| Precio | Gratis, sin registro y sin marca de agua |
Elegir un formato de datos
JSON es lo predeterminado para todo lo que devuelve una API o lee un programa: maneja estructuras anidadas, números, booleanos y null de forma natural, y todos los lenguajes lo analizan. CSV es más pequeño y se abre directamente en una hoja de cálculo, pero no tiene forma de expresar anidamiento ni un estándar compartido para el delimitador, las comillas o el juego de caracteres, que es justo donde fallan las conversiones. XML es verboso, pero admite atributos, contenido mixto y esquemas, así que sigue dominando los formatos de documento y las integraciones heredadas. YAML es el más legible para configuración, pero es sensible a los espacios y tiene conversiones de tipo sorprendentes («no» se convierte en false, una versión como 1.10 se convierte en 1.1). Elige el formato que prefiera la herramienta que lo va a consumir, no el que se vea más bonito.
Dónde se rompen las conversiones sin hacer ruido
La mayoría de los errores de conversión no tienen que ver con la sintaxis, sino con el significado. Una columna CSV de códigos postales pierde sus ceros iniciales en el momento en que una hoja de cálculo supone que es un número; un ID largo supera la precisión de coma flotante; las fechas cambian de significado según si van con el día primero o el mes primero. Las claves de JSON no tienen orden, pero los arrays no, y una herramienta que ordena claves no cambia nada, mientras que una que ordena arrays cambia los datos. Unicode es otra trampa: el texto puede llegar como UTF-8, como UTF-16 o con BOM, y un decodificador que adivina mal convierte los caracteres acentuados en «Mojibake». Antes de fiarte de cualquier conversión, revisa la primera y la última fila, cualquier campo con ceros iniciales y cualquier campo que contenga comillas, comas o saltos de línea.