Conversor XML a JSON

Convierte XML a JSON y elige cómo se escriben los atributos, los elementos repetidos y los espacios de nombres. Funciona por completo en tu navegador, así que tu XML nunca se sube.

El conversor funciona por completo en tu navegador y necesita JavaScript. El resto de esta página funciona sin él. Alternativas: la biblioteca xmltodict en Python, o fast-xml-parser en Node.js.

Pega XML, arrastra un archivo o carga el ejemplo. Los archivos se leen en tu navegador: no se sube nada. Pulsa Ctrl+Enter para convertir.

Resultado

JSON con números de línea. Abre Opciones para cambiar cómo se escriben los atributos, el texto y los arrays.

El JSON aparecerá aquí.

¿Te ha servido esta herramienta? Apoyar a XMLNest

«Load example» rellena la entrada y «Convert» escribe el JSON. En «Options», «Arrays» en «Always» pone cada elemento en un array, y el resultado cambia al momento. «Copy» copia el JSON al portapapeles. (25 segundos, sin sonido, interfaz en inglés)

¿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.