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.
Cómo funciona esta conversión de JSON a XML
JSON y XML describen ambos datos estructurados, pero no describen exactamente las mismas cosas. XML dispone de atributos y de contenido textual, dos conceptos que no existen en JSON. Por eso, cualquier conversión directa tropieza siempre con las mismas dos preguntas: cómo expresar los atributos y cómo devolver un array a su forma de elementos repetidos. Esta herramienta sigue la convención más extendida y asigna `@attributes` a los atributos del elemento, `#text` al contenido textual y los arrays a elementos hermanos que comparten nombre.
Por ejemplo, `{"book": {"@attributes": {"id": "1"}, "#text": "Título"}}` se convierte en `
Cómo convertir JSON en XML
- Pegue el JSON Introduzca el JSON que quiere convertir, ya sea un objeto o un array.
- Coloque en @attributes lo que deba ser atributo Reúna dentro de un objeto `@attributes` las claves que quiera obtener como atributos del elemento.
- Coloque el contenido textual en #text Cuando un elemento necesite llevar a la vez atributos y cuerpo, sitúe el valor del cuerpo bajo `#text`.
- Revise el resultado y cópielo Obtendrá un XML con sangría, listo para pegarlo en un archivo de configuración o en una petición de API.
Consejos para aprovecharla mejor
- 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).
Situaciones en las que resulta útil
Enviar datos a una API que solo acepta XML
Cuando sus datos están en JSON pero el destinatario exige XML, algo habitual al integrarse con sistemas de gestión antiguos.
Migrar un formato de configuración
Sirve como primer borrador al trasladar ajustes escritos en JSON a una herramienta basada en XML.
Pensar la estructura XML desde JSON
Escribir a mano un XML con muchos niveles de anidamiento es laborioso; montarlo en JSON y convertirlo después resulta mucho más claro de seguir.
Fijar la convención de su propio conversor
Probar cómo se reflejan `@attributes` y `#text` le ayuda a decidir la especificación de un conversor que esté escribiendo usted mismo.
Términos de la conversión de JSON a XML
- Atributo
- La parte `id="1"` de `
`. JSON no tiene un equivalente, así que esta herramienta lo representa con la clave especial `@attributes`. - Contenido textual (#text)
- El cuerpo de `
Título `. Use `#text` cuando el elemento deba llevar atributos y cuerpo a la vez. - Referencia de entidad (escape)
- Reescribir `&` como `&` y similares. **El ampersand debe convertirse primero; de lo contrario, el `&` de un `<` recién creado se escapa una segunda vez.**
- Elementos hermanos repetidos
- XML expresa una lista repitiendo elementos con el mismo nombre de etiqueta. Un array de JSON vuelve a esta forma.
- Elemento raíz
- XML exige exactamente un elemento en el nivel superior. Cuando el nivel superior de su JSON contiene varias claves, conviene tenerlo presente.
Preguntas frecuentes
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.