← Todas las herramientas

Convertidor de JSON a XML

Convierte JSON a XML y XML a JSON al instante en tu navegador. Solo en local y privado, con notas sobre atributos, arrays, espacios de nombres y trampas comunes.

JSON a XML y de vuelta: un conversor práctico para dos mundos de datos

La mayoría de los desarrolladores trabajan con XML y JSON, quieran o no. Las APIs web modernas hablan casi exclusivamente JSON, pero en cuanto tocas un banco, una aseguradora, un endpoint gubernamental, un ERP empresarial o un viejo servicio SOAP, el XML reaparece. El conversor JSON a XML de esta página transforma JSON en XML y XML de vuelta en JSON directamente en tu navegador, así que puedes moverte entre estos dos formatos sin copiar cargas útiles sensibles en un servicio remoto.

Llaves JSON anidadas y luminosas transformándose en un árbol de etiquetas XML entre corchetes angulares sobre un fondo índigo oscuro
Los objetos JSON y los árboles de etiquetas XML describen los mismos datos con formas distintas.

Qué son realmente XML y JSON

XML (Extensible Markup Language) es un formato de marcado construido en torno a etiquetas anidadas, atributos y espacios de nombres. Se diseñó para documentos e intercambio de datos estructurados, y lleva mucha maquinaria: esquemas (XSD), espacios de nombres, instrucciones de procesamiento, comentarios, secciones CDATA y una declaración formal al inicio. Esa riqueza es la razón por la que XML aún domina en los sistemas heredados y empresariales. Lo encuentras en servicios web SOAP, en feeds RSS y Atom, en archivos de configuración (Spring, Maven, configuraciones de app de .NET), en formatos de documentos de oficina y en estándares de mensajería financiera como SWIFT e ISO 20022, donde bancos y aseguradoras siguen intercambiando XML cada día.

JSON (JavaScript Object Notation) es mucho más simple: objetos con pares clave/valor, arrays, cadenas, números, booleanos y null. Se mapea casi uno a uno sobre las estructuras de datos de prácticamente todos los lenguajes de programación, que es justo por lo que se impuso en las APIs web modernas, los endpoints REST, las apps móviles y los archivos de configuración como package.json. JSON es normalmente entre un 30 y un 50 por ciento más pequeño que el XML equivalente y se analiza notablemente más rápido, en parte porque prescinde de las etiquetas de cierre y la maquinaria de atributos que hacen verboso al XML.

Las diferencias clave que importan para la conversión

Los dos formatos se solapan lo bastante para mapearse entre sí, pero no de forma limpia. Unas pocas diferencias estructurales causan casi toda la fricción:

  • Atributos frente a nodos hijo. XML distingue entre <user id="1"> (un atributo) y <user><id>1</id></user> (un elemento hijo). JSON no tiene ese concepto, así que los conversores se inventan uno. Por convención los atributos se agrupan en una clave como @attributes o se prefijan con @, mientras que el texto del elemento aterriza en una clave como #text.
  • Arrays. JSON tiene arrays nativos. XML no. Una lista en XML es simplemente la misma etiqueta repetida, como tres elementos <item> seguidos. Los conversores tienen que inferir cuándo varios hermanos repetidos deben colapsar en un array JSON, y cuándo un único elemento debe seguir siendo un objeto simple.
  • Espacios de nombres. XML usa espacios de nombres (los prefijos xmlns:soap) para evitar colisiones de nombres entre esquemas. JSON no tiene nada equivalente, así que los prefijos o bien sobreviven como caracteres literales en las claves o bien se eliminan.
  • Verbosidad y metadatos. XML puede adjuntar metadatos a un nodo mediante atributos; JSON lo expresa todo como claves y valores. Eso hace a JSON más compacto y fácil de leer, mientras que XML conserva poder de validación mediante los esquemas XSD.

Detalles de conversión a vigilar

Hacer un viaje de ida y vuelta de JSON a XML a JSON esperando un resultado idéntico es el error clásico. La conversión es con pérdida en ambas direcciones salvo que controles las reglas. Ten esto en cuenta:

  • Los atributos se enredan. Cuando conviertes JSON a XML, la herramienta necesita una regla para decidir qué claves se vuelven atributos y cuáles elementos. Cuando vas en el otro sentido, los atributos tienen que aterrizar en algún sitio, y ese "algún sitio" (prefijo @, bloque @attributes) difiere entre bibliotecas. Si un analizador posterior espera otra convención, los datos se ven mal aunque no se haya perdido nada.
  • Elemento único frente a array. Un feed XML con un <item> produce un objeto JSON; el mismo feed con dos elementos produce un array JSON. El código que asume un array se rompe en el caso de un solo elemento. Esta es una fuente común de errores al analizar RSS y SOAP.
  • Los espacios de nombres se filtran o desaparecen. Según la herramienta, soap:Body puede convertirse en una clave llamada literalmente soap:Body, o el prefijo puede eliminarse por completo, cambiando el significado del documento.
  • Contenido y tipos mixtos. XML trata todo como texto, así que un valor como true o 42 puede seguir siendo una cadena tras la conversión a JSON, mientras que la dirección inversa no tiene un lugar nativo para comentarios o CDATA.
Dos árboles de datos estructurados unidos por nodos de marcado abstractos hechos de luz cian y dorada
Mapear entre formatos significa decidir cómo se traducen los atributos, los arrays y los espacios de nombres.

Por qué importa la conversión solo local

Las cargas útiles JSON y XML suelen ser lo más sensible que maneja un desarrollador: respuestas de API con tokens, mensajes SOAP con números de cuenta, archivos de configuración con credenciales. Un conversor que se ejecuta en tu navegador nunca sube nada de eso. El análisis y la serialización ocurren en tu máquina, nada se envía a un servidor y puedes usar la herramienta sin conexión una vez cargada la página. Para depurar datos de producción o cualquier cosa bajo un régimen de cumplimiento, esa es la diferencia entre una comprobación rápida y segura y una fuga de datos accidental.

Si necesitas limpiar el resultado después, combina esto con nuestros otros conversores de datos, o ordena tu salida con el formateador de JSON antes de entregársela a la siguiente herramienta de tu pipeline.

Preguntas frecuentes

¿El conversor sube mi JSON o XML a algún sitio?

No. Tanto la conversión de JSON a XML como la de XML a JSON se ejecutan por completo en tu navegador. Tus datos nunca salen de tu dispositivo y la herramienta funciona sin conexión después de cargar la página.

¿Cómo se manejan los atributos XML al convertir a JSON?

Los atributos XML se colocan en una clave dedicada, normalmente prefijada con un signo de arroba o agrupada bajo un bloque de atributos, ya que JSON no tiene un concepto nativo de atributo. El contenido de texto del elemento se almacena por separado para que ambos sobrevivan a la conversión.

¿Por qué mi único elemento XML se convirtió en un objeto en lugar de un array?

XML no tiene arrays nativos, así que una lista es simplemente una etiqueta repetida. Cuando solo hay un elemento, los conversores no pueden distinguirlo de un objeto normal, así que se convierte en un objeto. Dos o más hermanos con el mismo nombre de etiqueta colapsan en un array JSON.

¿Qué les pasa a los espacios de nombres XML como soap o xmlns?

JSON no tiene equivalente a los espacios de nombres de XML. Según la conversión, el prefijo se mantiene como texto literal dentro de la clave o se elimina. Comprueba la salida si tu consumidor posterior depende de los prefijos de espacio de nombres.

¿Puedo convertir JSON de vuelta a XML y obtener el documento original?

No siempre con exactitud. La conversión es con pérdida en ambas direcciones porque características de XML como los comentarios, CDATA y la distinción entre atributo y elemento no tienen una contraparte limpia en JSON. El viaje de ida y vuelta funciona mejor cuando controlas las reglas de nomenclatura en ambos lados.

¿Dónde se sigue usando XML en comparación con JSON?

XML vive en los sistemas heredados y empresariales: servicios web SOAP, feeds RSS y Atom, archivos de configuración y mensajería financiera como SWIFT e ISO 20022. JSON domina las APIs web modernas, los endpoints REST y las apps móviles.