{ }JSONKit.tools

Conversor de XML a JSON

Pega XML y recibe JSON, con los atributos conservados como claves con prefijo @ y los elementos repetidos agrupados en arrays. El XML inválido se informa con línea y columna.

XML → JSON⇄JSON → XML

XML

JSON

Esperando la entrada…

Sobre esta herramienta

XML transporta dos tipos de datos para los que JSON solo tiene un hueco: elementos hijo y atributos. Este conversor conserva ambos anteponiendo @ a los nombres de atributo, de modo que no se pierde nada y los dos siguen siendo distinguibles. Los elementos hermanos repetidos se agrupan en un array, porque JSON no puede repetir una clave. El documento se valida antes de analizarse, así que una etiqueta descuadrada te da un número de línea en lugar de un objeto convertido a medias.

Cómo se usa

  1. 1Pega un documento XML en el panel izquierdo.
  2. 2Lee el JSON a la derecha: los atributos aparecen como claves @nombre.
  3. 3Cambia la salida a Árbol para plegar documentos profundos, o pulsa Copiar.

Preguntas frecuentes

›¿Qué pasa con los atributos XML?

Se convierten en claves con prefijo @ en el mismo objeto que el elemento, así que <user id="7"> pasa a ser { "user": { "@id": "7" } }. No se descarta nada, y distingues un atributo de un elemento hijo de un vistazo.

›¿Por qué mis elementos repetidos se convirtieron en un array?

Porque JSON no tiene forma de repetir una clave. Un <item> es un objeto; dos o más pasan a ser un array de objetos. Este es el único punto donde un mismo esquema puede producir formas JSON distintas según los datos.

›¿La conversión es reversible?

En su mayor parte. Elementos, atributos y texto sobreviven al viaje de ida y vuelta. Lo que no: comentarios, instrucciones de procesamiento, las declaraciones de espacio de nombres como tales, y la diferencia entre un elemento vacío y una cadena vacía.

›¿Qué cuenta aquí como XML inválido?

Etiquetas sin cerrar o descuadradas, más de un elemento raíz, < o & sueltos en el texto, y valores de atributo sin comillas. El error indica la línea y la columna para que puedas ir directamente.

›¿Se convierten los números del XML?

Sí. El texto que sea un número o un booleano válido se convierte en número o booleano JSON en lugar de en una cadena entrecomillada, que suele ser lo que quieres al pasar el resultado a código.