JSON a XML
Pega un documento JSON y obtén el equivalente XML con el nombre del elemento raíz que elijas, una estrategia consistente para arreglos (elementos repetidos o un contenedor), declaración XML opcional y sangría adecuada. Útil cuando un sistema legado requiere XML y tus datos de origen están en JSON.
Cómo convertir JSON a XML
-
1
Pegar JSON
Objeto o arreglo en el nivel superior. Darás un nombre al elemento raíz.
-
2
Nombrar la raíz
XML requiere un único elemento raíz. El predeterminado es `<root>`; dale un nombre significativo como `<users>` o `<response>`.
-
3
Elegir estrategia de arreglo
"Elementos repetidos" (cada elemento del arreglo se convierte en un hermano `<item>`) o "contenedor" (el arreglo va dentro de un elemento contenedor nombrado).
-
4
Copiar el XML
Declaración XML opcional, sangría adecuada y valores escapados para `<`, `>`, `&` y comillas.
Ejemplo: elementos repetidos
Entrada:
{ "users": [ { "name": "Alice" }, { "name": "Bob" } ] }
Salida:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<users>
<name>Alice</name>
</users>
<users>
<name>Bob</name>
</users>
</root>
Ejemplo: contenedor de arreglo
Misma entrada con la estrategia de “envolver arreglos en <item>”:
<root>
<users>
<item>
<name>Alice</name>
</item>
<item>
<name>Bob</name>
</item>
</users>
</root>
Mapeo de tipos
| JSON | XML |
|---|---|
| string | contenido de texto, escapado de entidad |
| integer / decimal | contenido de texto (sin anotación de tipo XML) |
| boolean | true / false como texto |
| null | elemento vacío (<foo/>) u omitido |
| array | elementos repetidos o contenedor + elementos |
| object | elemento anidado con elementos hijos |
Atributos vs elementos
XML distingue atributos (<user id="1">) de elementos hijos (<user><id>1</id></user>). El convertidor usa elementos de forma predeterminada: no pierden información en la conversión de ida y vuelta. Si tu XML de salida requiere atributos, usa una convención de prefijo de clave:
- La clave JSON
@idse convierte en un atributo XMLid="..."en el elemento padre. - La clave JSON
#textse convierte en el contenido de texto del elemento padre.
Estas convenciones provienen de los mapeos BadgerFish y Parker, los dos estándares más comunes de JSON a XML.
Reglas de escape
<-><>->>&->&"->"(en valores de atributos)'->'(opcional)- Los bytes en UTF-8 se preservan, declarados en el prólogo XML.
Errores comunes
- Arreglo JSON de nivel raíz. XML necesita un único elemento raíz. El convertidor envuelve un arreglo en
<root>(o el nombre que elijas). - Claves numéricas. JSON
{"1": "a"}es legal; los nombres de elementos XML no pueden comenzar con un dígito. El convertidor antepone dígitos con un guion bajo (_1) o te permite definir un mapeo personalizado. - Arreglos mixtos.
[1, "two", { "x": true }]no tiene un mapeo limpio. Generalmente esto significa que el JSON necesita normalización antes de la conversión. - Documentos enormes. XML es verboso, un JSON de 10 MB puede convertirse en un XML de 20-30 MB. Considera la conversión por streaming para cargas muy grandes.
Preguntas frecuentes
XML requiere una única raíz por especificación. Si tu JSON es un arreglo o tiene múltiples claves de nivel superior, el convertidor envuelve todo en un elemento raíz que puedes nombrar (predeterminado <root>).
Sí. Usa la convención de prefijo @ en tus claves JSON (por ejemplo, "@id": 1) y esas claves se convierten en atributos. Otras claves permanecen como elementos hijos. Esto coincide con el mapeo BadgerFish.
Dos estrategias: elementos hermanos repetidos (cada elemento recibe la clave padre como su etiqueta), o un contenedor con elementos <item> dentro. Elige la que coincida con el esquema XML que estás apuntando.
No. El convertidor emite la declaración XML (<?xml version="1.0"?>) pero no un DOCTYPE. Para XML que necesita una referencia DTD o XSD, agrégala manualmente después de la conversión.
Herramientas relacionadas
Referencia de la tabla ASCII
Tabla ASCII completa del 0 al 127 con decimal, hex, octal, binario y referencia numérica HTML para cada carácter, incluidos los códigos de control como NUL, LF y DEL.
Referencia de caracteres HTML
Lista buscable de entidades HTML, sus códigos nombrados y numéricos, y una copia con un clic para caracteres y símbolos especiales.
Referencia de atajos de teclado
Busca los atajos predeterminados documentados de VS Code, Chrome y Bash con GNU Readline en macOS, Windows y Linux.
Generador de letras aleatorias
Genera letras aleatorias A-Z. Elige la cantidad, usa mayúsculas, minúsculas o mezcla de ambas, y aplica el resultado en juegos, consignas o clase.
Generador de Paletas de Color
Genera paletas monocromáticas, análogas, complementarias, triádicas o tetrádicas desde un color base HEX y exporta variables CSS listas para copiar.
Generador de EditorConfig
Genera un archivo .editorconfig con tu estilo y tamaño de indentación, fin de línea, charset y reglas de espacios para un formato consistente en IDEs y editores.
Herramienta disponible en otros idiomas
- JSON ke XML [ID]
- Chuyển đổi từ JSON sang XML [VI]
- JSON vers XML [FR]
- JSON에서 XML로 [KO]
- JSON naar XML [NL]
- JSON till XML [SV]
- JSONからXMLへ [JA]
- แปลง JSON เป็น XML [TH]
- JSON إلى XML [AR]
- JSON zu XML [DE]
- JSON do XML [PL]
- JSON para XML [PT]
- JSON in XML [IT]
- Преобразование JSON в XML [RU]
- JSON'ten XML'e [TR]
- JSON 到 XML [ZH]
- JSON to XML [EN]