JSON (JavaScript Object Notation) y XML (eXtensible Markup Language) son los dos formatos de intercambio de datos dominantes en el desarrollo de software. JSON usa pares clave-valor y matrices con una sintaxis compacta, mientras que XML envuelve los datos en etiquetas de apertura y cierre con atributos opcionales. Convertir JSON a XML implica traducir los primitivos estructurales de JSON — objetos, matrices, cadenas, números, booleanos y null — en un documento XML bien formado con el anidamiento de elementos correspondiente.
XML sigue siendo el formato obligatorio en muchos sistemas empresariales, APIs gubernamentales, servicios web SOAP y estándares sectoriales como HL7 (sanidad), FpML (finanzas) y XBRL (información financiera). Cuando tu aplicación produce JSON pero el sistema receptor espera XML, un conversor de JSON a XML se encarga de la traducción sin necesidad de reestructuración manual. La conversión sigue reglas de correspondencia predecibles: los objetos JSON se convierten en elementos XML, los elementos de las matrices se convierten en elementos hermanos repetidos y los valores primitivos se convierten en nodos de texto.
No existe ningún RFC ni estándar del W3C que defina cómo se corresponde JSON con XML. Distintas bibliotecas producen salidas diferentes para la misma entrada. La convención más habitual (utilizada por esta herramienta) envuelve el documento completo en un elemento raíz configurable, convierte cada clave JSON en un elemento hijo XML y representa los elementos de las matrices como elementos repetidos con el mismo nombre de etiqueta. Conocer estas reglas de correspondencia es importante cuando el sistema receptor impone un esquema XML (XSD) específico.
¿Por qué usar un conversor de JSON a XML online?
Escribir XML a mano a partir de una fuente JSON es tedioso y propenso a errores. Las etiquetas sin cerrar, los elementos de cierre olvidados y el anidamiento incorrecto producen documentos que no superan la validación de esquema. Un conversor gestiona la traducción estructural de forma automática.
⚡
Convierte al instante en tu navegador
Pega JSON y obtén XML bien formado en milisegundos. Sin ida y vuelta al servidor, sin configuración de CLI, sin instalación de dependencias. La conversión se ejecuta íntegramente en JavaScript en tu dispositivo.
🔒
Mantén tus datos sensibles en privado
Tu entrada JSON nunca abandona la pestaña del navegador. Todo el análisis y la generación de XML ocurren en el lado del cliente, por lo que es seguro convertir payloads que contienen claves de API, tokens o datos de producción.
📋
Sin cuenta ni inicio de sesión
Abre la página, pega tu JSON y copia la salida XML. Sin formularios de registro, sin verificación de correo electrónico ni límites de uso que se interpongan entre tú y tus datos convertidos.
🌳
Gestión automática de estructuras anidadas
Los objetos profundamente anidados, las matrices mixtas y los valores null se convierten correctamente. La herramienta preserva la jerarquía completa de tu entrada JSON en el árbol XML resultante.
Casos de uso de JSON a XML
Integración con servicios web SOAP
Tu API REST devuelve JSON, pero el endpoint SOAP de un socio requiere cuerpos de solicitud en XML. Convierte el payload JSON a XML antes de envolverlo en un sobre SOAP.
Intercambio de datos empresariales
Los sistemas ERP y CRM heredados suelen aceptar solo importaciones en XML. Convierte exportaciones JSON de herramientas modernas en feeds XML que coincidan con el esquema esperado.
Configuración de pipelines CI/CD
Algunas herramientas de compilación (Maven, Ant, MSBuild) usan archivos de configuración XML. Genera fragmentos de configuración XML a partir de archivos de parámetros JSON durante compilaciones automatizadas.
Preparación de datos de prueba para QA
Genera fixtures XML de prueba a partir de conjuntos de datos JSON. Produce rápidamente documentos XML válidos para probar analizadores XML, transformaciones XSLT o consultas XPath.
Puente de formatos en pipelines de datos
Los pipelines ETL que ingieren XML pueden recibir datos de APIs que producen JSON. Convierte los resultados JSON intermedios a XML antes de cargarlos en la etapa de procesamiento basada en XML.
Aprendizaje de la estructura XML
Los estudiantes que estudian XML pueden pegar estructuras JSON familiares y ver la representación XML equivalente. Esto hace que el anidamiento de etiquetas, la jerarquía de elementos y la estructura del documento sean concretos y tangibles.
Reglas de correspondencia de JSON a XML
Dado que no existe un estándar universal que rija la conversión de JSON a XML, distintas herramientas producen salidas diferentes. La tabla siguiente muestra las convenciones de correspondencia utilizadas por este conversor y las bibliotecas más populares (js2xmlparser, xmlbuilder, fast-xml-parser). La convención de elementos hermanos repetidos para las matrices se impuso como la dominante porque refleja cómo los esquemas XML modelan naturalmente las colecciones — cada elemento es un elemento de primer nivel en lugar de un hijo envuelto — y se integra limpiamente con consultas XPath y transformaciones XSLT.
JSON Type
JSON Example
XML Output
Object
{"name": "Alice"}
<name>Alice</name>
Nested object
{"user": {"age": 30}}
<user><age>30</age></user>
Array
{"colors": ["red", "blue"]}
<colors>red</colors><colors>blue</colors>
String
"hello"
<root>hello</root>
Number
42
<root>42</root>
Boolean
true
<root>true</root>
Null
null
<root/>
Empty object
{}
<root/>
Empty array
[]
(no child elements)
Ejemplos de código
A continuación hay fragmentos ejecutables para convertir JSON a XML en tres entornos. Cada ejemplo produce XML bien formado a partir de un objeto JSON de muestra.
package main
import (
"encoding/json"
"encoding/xml"
"fmt"
)
type Item struct {
SKU string `json:"sku" xml:"sku"`
Qty int `json:"qty" xml:"qty"`
}
type Order struct {
XMLName xml.Name `xml:"order"`
ID int `json:"id" xml:"id"`
Items []Item `json:"items" xml:"items"`
Shipped bool `json:"shipped" xml:"shipped"`
}
func main() {
raw := `{"id":1024,"items":[{"sku":"A1","qty":2},{"sku":"B3","qty":1}],"shipped":false}`
var order Order
json.Unmarshal([]byte(raw), &order)
out, _ := xml.MarshalIndent(order, "", " ")
fmt.Println(xml.Header + string(out))
// → <?xml version="1.0" encoding="UTF-8"?>
// → <order>
// → <id>1024</id>
// → <items>
// → <sku>A1</sku>
// → <qty>2</qty>
// → </items>
// → ...
}
Preguntas frecuentes
¿La conversión de JSON a XML es sin pérdida?
Estructuralmente, sí: cada valor JSON se corresponde con un elemento XML o un nodo de texto. Sin embargo, XML no distingue de forma nativa entre números, booleanos y cadenas como lo hace JSON. El valor 42 en JSON se convierte en el contenido de texto "42" en XML. Si el sistema receptor se basa en declaraciones de tipo de XML Schema (XSD), puede recuperar los tipos originales durante el análisis. Sin un esquema, la información de tipo se pierde efectivamente en el documento convertido.
¿Cómo se convierten las matrices JSON a XML?
Cada elemento de la matriz se convierte en un elemento XML hermano con el mismo nombre de etiqueta. Por ejemplo, la matriz JSON "colors": ["red", "blue"] produce dos elementos: <colors>red</colors> y <colors>blue</colors>. Algunos conversores envuelven las matrices en un elemento padre (p. ej., <colorsList>), pero el enfoque de elementos hermanos repetidos es más común y coincide con la convención usada por JAXB, Jackson y fast-xml-parser.
¿Qué ocurre con los valores null en la conversión?
Un null de JSON se convierte normalmente en un elemento XML vacío. Por ejemplo, "middle_name": null se convierte en <middle_name/>. Algunas bibliotecas añaden un atributo xsi:nil="true" para indicar un null explícito, lo que es útil cuando el sistema receptor valida contra un esquema XSD. Este conversor produce por defecto un elemento vacío de cierre automático.
¿Puedo convertir XML de vuelta a JSON?
Sí, pero el proceso de ida y vuelta no siempre es simétrico. Las características de XML como atributos, instrucciones de procesamiento, comentarios, contenido mixto y espacios de nombres no tienen equivalente directo en JSON. Convertir XML a JSON y de vuelta a XML puede producir un documento estructuralmente diferente. Si necesitas conversión de XML a JSON, usa un conversor dedicado de XML a JSON que preserve atributos y espacios de nombres.
¿Cómo gestiono claves JSON que no son nombres de elementos XML válidos?
Los nombres de elementos XML no pueden empezar con un dígito, contener espacios ni incluir la mayoría de los caracteres especiales. Si tu JSON tiene una clave como "2024-data" o "first name", el conversor debe sanearlo — normalmente añadiendo un guión bajo como prefijo o reemplazando los caracteres no válidos por guiones bajos. Comprueba la salida de tu conversor y ajusta los nombres de clave en el JSON fuente si el XML resultante debe superar la validación XSD.
¿Cuál es el tamaño máximo de JSON que puede gestionar esta herramienta?
El conversor se ejecuta en el motor JavaScript de tu navegador, por lo que el límite práctico depende de la memoria disponible. La mayoría de los navegadores modernos gestionan documentos JSON de hasta 50-100 MB sin problemas. Para archivos más grandes, usa un conversor en streaming como xmltodict de Python o una herramienta de línea de comandos que procese los datos de forma incremental en lugar de cargarlos todos en memoria.
¿La salida XML es bien formada o válida?
La salida es siempre XML bien formado: las etiquetas están correctamente anidadas, los caracteres especiales están escapados y el documento tiene un único elemento raíz. Si la salida es válida depende del esquema objetivo (XSD o DTD). La buena formación es una garantía estructural; la validez requiere que los nombres de elementos, el orden de anidamiento y los tipos de contenido coincidan con una definición de esquema específica.