ToolGenie.org Logotipo

Convertidor de JSON a XML

Convierte un objeto o un array JSON en XML bien formado y correctamente escapado: gratis, inmediato y sin salir del navegador.

La conversión ocurre en local, dentro de tu navegador. Nada de lo que pegues se sube, se registra ni se almacena.

Cómo usar el convertidor de JSON a XML

  1. Pega tu JSON en el cuadro de entrada o pulsa "Cargar ejemplo" para partir de un documento breve con forma de feed.
  2. Escribe el nombre del elemento raíz que quieras. El XML admite una única raíz, así que todas las claves de tu JSON pasan a ser hijas suyas.
  3. Elige 2 o 4 espacios de sangría para un XML legible, o minificado para una sola línea compacta, y deja activada "Añadir la declaración XML" si quien lo recibe espera el prólogo <?xml ... ?>.
  4. Pulsa "Convertir a XML". Los objetos se convierten en elementos anidados, los arrays repiten su clave como etiquetas hermanas y un objeto "@attributes" se convierte en atributos XML reales.
  5. Copia el resultado con "Copiar resultado" o pulsa "Limpiar" para reiniciar la entrada, la salida y los avisos.

¿Qué es un convertidor de JSON a XML?

Un convertidor de JSON a XML reescribe un documento JSON como un árbol XML. Cada clave de un objeto se convierte en un elemento, los objetos anidados pasan a ser elementos anidados y los valores primitivos se convierten en el texto de la etiqueta. Lo necesitas siempre que un servicio moderno genere JSON pero el sistema del otro lado hable XML: endpoints SOAP, facturación electrónica, publicación de RSS, recursos de Android, generación de sitemaps o un ERP que no ha cambiado su formato de importación desde 2004.

Dos detalles separan una conversión utilizable de una rota. El primero son los arrays: JSON los tiene de serie y XML no, así que hay que aplanarlos en elementos hermanos que repiten el mismo nombre de etiqueta. El segundo es el escapado: un ampersand o un corchete angular sin escapar dejan el documento entero ilegible, por eso el texto escapa &, < y >, y los valores de atributo escapan además las comillas dobles. Esta herramienta comprueba también cada clave contra las reglas de nombres de XML y renombra lo que no sea válido (un dígito inicial, un espacio, una barra) a una forma con guion bajo, avisándote de cada cambio en lugar de generar un XML que falle más adelante sin explicación.

¿Necesitas el sentido contrario? El convertidor de XML a JSON deshace el proceso y entiende la misma convención de @attributes, así que los documentos hacen una ida y vuelta limpia. Antes de convertir merece la pena ordenar la entrada con el formateador de JSON o cazar una coma de más con el validador de JSON.

Preguntas frecuentes (FAQ)

¿Cómo convierto JSON a XML online?

Pega tu JSON, indica un nombre para el elemento raíz y pulsa "Convertir a XML". El XML se genera en tu navegador y aparece al instante, listo para copiar: sin subidas y sin cuenta.

¿Cómo se convierten los arrays JSON a XML?

XML no tiene tipo array, así que un array se escribe como elementos hermanos repetidos que comparten la clave del padre como nombre de etiqueta. Por ejemplo, {"item": [1, 2]} produce <item>1</item><item>2</item> dentro del elemento contenedor.

¿Por qué el XML necesita un elemento raíz?

Un documento XML bien formado debe tener exactamente un elemento de primer nivel, mientras que un JSON puede empezar por un objeto, un array o incluso un valor suelto. El nombre de raíz que escribas envuelve todo lo demás, por eso su valor por defecto es root y debe ser un nombre XML válido.

¿Puedo generar atributos XML en vez de elementos hijos?

Sí. Cualquier objeto que contenga un objeto "@attributes" escribe esos pares clave/valor como atributos reales del elemento, y una clave "#text" se convierte en el texto del elemento. Es la misma convención que usa el convertidor de XML a JSON, así que los datos sobreviven a la ida y vuelta.

¿Qué pasa con las claves JSON que no son nombres XML válidos?

Los nombres de elemento XML no pueden llevar espacios ni empezar por un dígito. Claves como "primer nombre" o "2do" se reescriben como "primer_nombre" y "_2do", y un aviso enumera cada cambio para que decidas si prefieres corregir los datos de origen.

¿El convertidor escapa los caracteres especiales?

Sí. Los ampersands y los signos de menor y mayor que del texto se escapan como &amp;, &lt; y &gt;, y los valores de atributo escapan además las comillas dobles. Sin esto, un solo & en el nombre de un producto haría ilegible toda la salida.

¿Qué ocurre con los valores nulos y los objetos vacíos?

Un null, un undefined o un objeto vacío se escriben como un elemento autocerrado del tipo <nota/>, que es el equivalente XML más cercano a un valor vacío. Los números y los booleanos se escriben con su forma literal de texto.

¿Mi JSON se mantiene privado?

Sí. La conversión se ejecuta por completo en tu navegador con JavaScript puro: nada se envía a un servidor, se registra ni se guarda. Puedes pegar aquí payloads de APIs o fichas de clientes sin riesgo.

Consejos para convertir JSON a XML

  • Consejo 1: Elige un nombre de raíz que coincida con lo que espera el sistema receptor —rss, Envelope, urlset o el elemento que indique su XSD— en lugar de dejar el valor por defecto.
  • Consejo 2: Usa un objeto "@attributes" cuando el esquema destino guarde los identificadores como atributos: mantiene los ids fuera del cuerpo del elemento y genera un XML mucho más corto.
  • Consejo 3: Lee con atención el aviso de renombrado. Que una clave se convierta en una forma con guion bajo suele significar que tu JSON usa etiquetas de interfaz donde debería usar nombres de campo estables.
  • Consejo 4: Comprueba un mapeo devolviendo el XML al convertidor de XML a JSON, y reduce el tamaño de los envíos con el minificador de JSON.