Convertidor de JSON a XML

Convierte datos JSON a XML. @attributes se restaura como atributos del elemento, #text como contenido de texto, y los arrays como elementos hermanos repetidos — el proceso inverso de nuestro convertidor de XML a JSON, todo en el navegador.

Consejos de uso

  • Coloca un objeto bajo la clave `@attributes` y cada una de sus propiedades se convertirá en un atributo del elemento convertido.
  • Usa una clave `#text` para el contenido de texto de un elemento que también tenga atributos o elementos hijos. Un elemento simple sin atributos puede usar directamente una cadena como valor.
  • Dale a la misma clave un array y cada elemento se generará como un elemento hermano repetido con ese nombre.
  • Un valor `null` produce una etiqueta vacía y autocerrada (``) sin atributos, texto ni hijos.
  • Esta herramienta espera una entrada con el formato que produce nuestro "Convertidor de XML a JSON" (un objeto cuya clave es el nombre del elemento raíz, con exactamente una clave de nivel superior).

Preguntas frecuentes

Una clave llamada `@attributes` que contiene un objeto convierte cada una de sus propiedades en un atributo del elemento XML resultante. Por ejemplo, `{"@attributes": {"category": "fiction"}}` se convierte en un atributo `category="fiction"`.

Asignar un array a la misma clave genera cada elemento del array como un elemento hermano repetido con ese nombre. Por ejemplo, `"book": [{"title": "A"}, {"title": "B"}]` se convierte en un XML con dos etiquetas ``.

La causa más común es un error de sintaxis en el JSON (una coma faltante o una clave sin comillas). El XML también requiere exactamente un elemento raíz, por lo que un JSON con varias claves de nivel superior, o con un array en la raíz, también fallará.

Sí, nuestro "Convertidor de XML a JSON" se encarga de la dirección inversa. Como ambas herramientas usan la misma convención de conversión, el contenido se conserva en ambos sentidos.

Esta herramienta asume la convención usada por el "Convertidor de XML a JSON" (`@attributes`, `#text`, arrays y null). Un JSON de estructura libre que no siga esta convención — como una respuesta típica de una API llena de números y booleanos — puede no convertirse en la estructura XML que esperabas.
ツールくん

A propósito — Qué tener en cuenta al "devolver" JSON a XML

Convertir XML a JSON se parece bastante a comprimir información. XML puede llevar tres tipos de información — atributos, texto y elementos hijos — mientras que JSON solo tiene pares clave-valor simples, así que hay que adoptar alguna convención al convertir (esta herramienta sigue las mismas cuatro reglas: `@attributes`, `#text`, arrays y null). Mientras se respete esa convención, convertir JSON de vuelta a XML es un proceso mecánico y bien definido — pero forzar un JSON de estructura libre que no la sigue puede dejar poco claro qué debería ser un atributo y qué un elemento, y el resultado puede no coincidir con lo esperado.

En la práctica, esto surge cuando la respuesta de una API XML antigua se convierte a JSON para procesarla más fácilmente en JavaScript, y luego se convierte de vuelta a XML para enviarla a otro sistema — por ejemplo, remodelar la respuesta de una API SOAP como JSON antes de reenviarla como una solicitud de estilo SOAP. En este tipo de ida y vuelta, mantener la convención de conversión consistente es lo más importante; mezclar una herramienta que use una convención diferente a mitad de camino puede desordenar la relación entre atributos y texto.

Esta herramienta exige estrictamente exactamente una clave de nivel superior porque refleja una regla del propio XML: un documento debe tener exactamente un elemento raíz. Si necesitas convertir un JSON con varias claves de nivel superior, envuélvelo primero en una clave padre común (por ejemplo, `root`), y se convertirá correctamente en un XML con un único elemento raíz.