Herramienta de desarrollo / 01
Convertidor de XML a JSON
Convierte un documento XML en JSON legible, con atributos y elementos repetidos gestionados con criterio.
Convertidor de XML a JSON: TOEA lee los elementos, atributos, texto y CDATA del documento y luego los convierte en JSON: los atributos llevan el prefijo @, el texto suelto pasa a #text y los nombres de hermanos repetidos se convierten en un array. Funciona al 100 % en tu navegador, sin subir archivos a ningún servidor.
- Categoría
- Herramientas de desarrollo
- Se ejecuta
- En tu navegador
- Coste
- Gratis · sin registro
- Disponibilidad
- Lista para usar
Funciona por completo en tu navegador
Hasta 5 MB · no se sube nada
Todo llega como texto
XML no tiene tipos de datos, por lo que <count>42</count> se convierte en "42" y <active>true</active> en "true". Convierte los números y booleanos en el código que lee el JSON, donde sabes qué campos representan. Lo mismo se aplica a los atributos: @id contiene una cadena aunque parezca numérico.
El código que lee el resultado también debe gestionar los elementos que solo se repiten algunas veces. Un <item> que aparece una vez es un objeto y dos apariciones forman un array, así que normalízalo con Array.isArray(x) ? x : [x] antes de recorrerlo.
Documentos que no se convierten bien
La conversión es adecuada para datos: configuración, respuestas de API, feeds y exportaciones. No es adecuada para prosa. En <p>Read <b>this</b> first</p>, el texto suelto se une en un único valor #text y la palabra en negrita se convierte en una clave separada, por lo que se pierde el orden de lectura. XHTML, DocBook y otros formatos de documentos similares se procesan mejor con una biblioteca XML. Para inspeccionar la estructura de un documento antes de convertirlo, indéntalo con el formateador XML.
Cómo se usa
- Pega XML o elige un archivo.
- Elige un ancho de sangría.
- Copia o descarga el JSON.
Privacidad y límites
El texto se convierte en tu navegador y nunca se sube, algo importante cuando el archivo es de configuración o una exportación que no quieres entregar a un desconocido. Los espacios de nombres se mantienen literalmente en los nombres de elemento en lugar de resolverse.
Herramientas relacionadas
Preguntas frecuentes
¿Por qué los atributos empiezan con @?
XML separa los atributos de los elementos hijo; JSON no hace esa distinción. El prefijo @ los mantiene aparte para que la conversión pueda revertirse sin adivinar.
¿Por qué un elemento se convirtió en un array?
Los nombres de hermanos repetidos siempre se convierten en un array, porque eso es lo que indica la estructura. Un nombre que aparece una vez se queda como valor simple.
¿Para qué sirve #text?
Un elemento que contiene tanto texto como elementos hijo necesita un lugar para ese texto suelto, y #text es ese espacio.
¿Qué no es compatible?
Definiciones de entidades DTD, resolución de espacios de nombres e instrucciones de procesamiento más allá de la declaración. Los archivos de configuración y los payloads de API no las usan.
Herramienta gratuita · se ejecuta en tu navegador · sin cuenta