JSON a XML

Pega JSON y obtén XML bien formado y con sangría. Los arrays pasan a elementos repetidos, las claves que empiezan por @ pasan a atributos y caracteres como & y < se escapan.

Gratis y privado. Todo funciona en tu navegador y no se sube nada.

Cómo funciona

  1. Pega o abre un archivoPega tus datos en el cuadro de entrada o abre un archivo. Ejemplo muestra un caso de muestra.
  2. Revisa el resultadoLos datos convertidos aparecen a la derecha mientras escribes. Los errores indican la línea y la columna.
  3. Copia, descarga o invierteCopia el resultado, guárdalo como archivo o pulsa Invertir para convertirlo de vuelta.

Reglas para un XML bien formado

Si el JSON es un objeto con una sola clave, esa clave pasa a ser el elemento raíz. Si no, todo se envuelve en un elemento raíz cuyo nombre puedes elegir. Un array se convierte en un elemento por cada valor con el nombre de su clave, así "tag": ["a", "b"] da dos elementos <tag>. Una lista en el nivel principal se escribe como elementos <item>.

Los nombres XML no pueden tener espacios ni empezar por un dígito, así que esas claves se ajustan, por ejemplo first name pasa a first_name, y la herramienta lista cada clave que tuvo que cambiar. Null y el texto vacío pasan a elementos vacíos como <note/>. Los caracteres especiales se escapan, y los caracteres de control que XML no admite se eliminan. El resultado usa las mismas reglas de @ y #text que XML a JSON, así los datos pueden ir y volver.

Sobre JSON

JSON (JavaScript Object Notation) escribe los datos como objetos entre llaves, listas entre corchetes, texto entre comillas dobles, números, true, false y null. Casi todas las API y lenguajes de programación lo leen.

Sobre XML

XML (Extensible Markup Language) guarda los datos en elementos anidados con etiquetas de apertura y cierre, y puede añadir atributos a cada elemento. Es habitual en feeds, facturas electrónicas, archivos de Office y servicios SOAP.

Preguntas frecuentes

¿Puedo añadir atributos?

Sí. Empieza la clave con @, por ejemplo "@id": 5, y se escribe como id="5" en el elemento. Pon el texto del elemento en #text.

¿Se suben mis datos?

No. La conversión se hace en tu navegador. Los archivos de configuración con contraseñas o claves nunca salen de tu dispositivo.

¿Por qué yes sigue siendo texto en mi JSON?

En YAML 1.2, la versión actual, solo true y false son booleanos. Las herramientas antiguas de YAML 1.1 también leen yes, no, on y off como booleanos. Activa la opción YAML 1.1 si tu archivo se escribió para una de esas herramientas.

¿Qué pasa con varios documentos YAML?

Si la entrada tiene más de un documento, cada uno empezando con una línea de tres guiones, el resultado en JSON es una lista con un elemento por documento.

¿Cómo se muestran los atributos XML en JSON?

Los atributos llevan una @ delante de su nombre, por ejemplo @id. Si un elemento tiene atributos y texto, el texto va en #text. Puedes elegir otro prefijo para los atributos.

¿Funciona sin conexión?

Sí. Después de abrir la página una vez, sigue funcionando sin conexión a internet.