Convertir JSON a XML

Convierte datos JSON en XML válido.

Funciona en tu navegador. Nada de lo que escribes se envía a ningún sitio.

Cómo convertir JSON a XML

  1. Pega o sube tu JSON.
  2. Escribe un nombre para el elemento raíz.
  3. Copia el XML o descárgalo.

Ejemplo: entra JSON, sale XML

JSONXML
{"name":"Sam"}<root><name>Sam</name></root>
{"@_id":"5","#text":"Widget"}<root id="5">Widget</root>
{"tag":["a","b"]}<root><tag>a</tag><tag>b</tag></root>

Cómo se convierten las claves JSON en nombres de etiqueta

  • Un carácter que XML no permite en un nombre, como un espacio, se reemplaza por _, así que "first name" se convierte en first_name.
  • Una clave que empieza por un dígito recibe un _ al principio, ya que los nombres XML no pueden empezar con un número.
  • Una clave que coincide con una ya renombrada recibe un número al final, así que un segundo first_name se convierte en first_name_2.

Dónde es útil JSON a XML

  • Enviar datos a un sistema o API antiguo que solo acepta XML.
  • Crear un feed pequeño, como un archivo al estilo RSS, a partir de una fuente de datos JSON.
  • Comprobar cómo se vería un payload JSON como cuerpo de una petición SOAP o XML heredada.

Límites a tener en cuenta

  • Un null de JSON se convierte en un elemento vacío, ya que XML no tiene nada que signifique exactamente null.
  • Las claves que solo se diferencian por mayúsculas, como Name y name, se convierten en dos etiquetas distintas, ya que los nombres de etiqueta XML distinguen mayúsculas de minúsculas.
  • Los números y booleanos se escriben como texto plano en el XML. Quien lo lea tiene que saber convertirlos de vuelta a su tipo original.

Preguntas frecuentes sobre JSON a XML

¿Cómo se escriben los arrays en XML?

Cada elemento de un array se convierte en un elemento repetido con el nombre de su clave. Un array en el nivel superior se envuelve en elementos item bajo la raíz.

¿Cómo creo atributos?

Empieza una clave con @_, como "@_id": 5, y se convierte en un atributo de su elemento padre. Esto coincide con la salida del conversor de XML a JSON.

¿Qué pasa si una clave no es un nombre de etiqueta XML válido?

Los caracteres que XML no permite en los nombres, como los espacios, se reemplazan por _, y un nombre que empieza por un dígito recibe un _ al principio. Así, "first name" se convierte en first_name.

¿Puedo hacer un ida y vuelta a través de XML a JSON y de vuelta?

Sí. El JSON generado por el conversor de XML a JSON con atributos activados, incluidas sus claves @_ y valores #text, se convierte de vuelta en el XML correspondiente aquí.

¿Qué pasa con un array JSON de valores simples, como una lista de etiquetas?

Cada valor se convierte en su propio elemento repetido con el nombre de la clave del array; por ejemplo, un array tags de ["a","b"] bajo la clave tag se convierte en <tag>a</tag><tag>b</tag>.

¿La salida incluye una declaración XML?

Sí. Cada resultado empieza con <?xml version="1.0" encoding="UTF-8"?> en su propia línea.

¿Escapa caracteres especiales como < o & dentro del texto?

Sí. Cualquier carácter que rompería la sintaxis XML dentro de un texto o un valor de atributo se escapa automáticamente, así que el resultado siempre se puede volver a analizar sin problemas.

¿Puedo anidar un objeto dentro de un array dentro de otro objeto?

Sí. Cualquier profundidad y combinación de objetos y arrays se convierte, y cada nivel se convierte en su propio conjunto de elementos anidados.

Herramientas relacionadas