¿Cómo convertir XML a JSON online?
Pega tu XML, abre un archivo con Abrir archivo… o arrástralo sobre la herramienta. Después pulsa Convertir, o Ctrl+Enter (⌘+Enter en Mac). El JSON aparece en el cuadro Resultado con números de línea y colores. Cópialo, o descárgalo como archivo .json con el mismo nombre que tu archivo XML. Para empezar, Cargar ejemplo muestra un pequeño catálogo de libros.
¿Cómo se pasa de XML a JSON?
El elemento raíz se convierte en la única clave del objeto JSON. Un elemento que solo contiene texto se convierte en una cadena. Un elemento con atributos o hijos se convierte en un objeto: primero los atributos, con una @ delante del nombre, y después los hijos en el orden en que aparecen por primera vez. Cuando un elemento tiene a la vez atributos y texto, el texto va en #text. Los hijos con el mismo nombre se reúnen en un array, aunque haya otros elementos entre ellos. Los comentarios, las instrucciones de procesamiento y la declaración XML se omiten.
Atributos, arrays y espacios de nombres: ¿qué opciones necesitas?
Abre Opciones cuando el código que lee el JSON espere otra forma. Un guion bajo como prefijo, o ningún prefijo, da claves más fáciles de escribir en JavaScript. Arrays en Siempre convierte cada elemento hijo en un array: una lista con un elemento tiene entonces la misma forma que una con diez. Quitar prefijos convierte g:price en price. Números y true/false escribe 42 y true sin comillas; déjalo desactivado si códigos postales o identificadores deben seguir siendo texto.
¿Este conversor sube mi archivo?
No. La conversión se hace en esta pestaña del navegador. Tu archivo se lee en tu dispositivo y las reglas de seguridad de esta página impiden enviar nada por la red. No se guarda nada, así que tu XML desaparece al cerrar la pestaña. Si el XML está roto, obtienes el primer error con su línea y su columna, como en el validador XML, e Ir al error lo selecciona en la entrada.
Convertir XML a JSON en código
En un proyecto, una biblioteca hace el mismo trabajo: xml2js o fast-xml-parser en Node.js, xmltodict en Python, Jackson en Java. Cada una tiene sus propias convenciones para atributos y arrays, así que compara una muestra de su salida con este resultado antes de fiarte. Para ordenar antes el propio XML, usa el formateador XML.
Preguntas
¿Cómo se convierten los atributos XML a JSON?
Cada atributo se convierte en una clave que empieza por @, con su valor como cadena, por ejemplo "@id": "bk101". En Opciones puedes usar un guion bajo en su lugar, o ningún prefijo.
¿Por qué un elemento es un array y otro no?
Por defecto, solo los elementos que se repiten dentro del mismo padre se convierten en arrays. Si tu código necesita siempre la misma forma, pon Arrays en Siempre.
¿Qué pasa con los espacios de nombres?
Los prefijos se mantienen tal como están escritos, como dc:title, y las declaraciones xmlns aparecen como atributos. Elige Quitar prefijos en Opciones para obtener nombres simples.
¿Hay un límite de tamaño?
Sí, 20 MB para un archivo abierto o para el texto pegado. La conversión se ejecuta en segundo plano, así que la página sigue respondiendo mientras trabaja.
¿Puede convertir JSON a XML?
Todavía no. Esta herramienta solo convierte XML a JSON. Un conversor de JSON a XML podría llegar más adelante, junto con las demás herramientas de este sitio.
¿Puedo ver un archivo XML en Chrome antes de convertirlo?
Sí. Chrome muestra un archivo XML sin hoja de estilo como un árbol simple. XMLNest, una extensión disponible en Chrome Web Store, añade plegado, números de línea y una presentación más limpia, lo que facilita leer un archivo grande.