Herramientas JSON

JSON a XMLacuerda la estructura con el sistema receptor

El ejemplo incluye un atributo, texto, un array vacío y null. Comprueba su representación antes de exportar.

JSON a XML

XML a JSON

Entrada JSON

Se procesa en este navegador. La entrada no se sube ni se guarda.

Resultado XML

Opciones de salida

Vista de tipos

Resultado desactualizado; exportación deshabilitada.

JSON a XML prepara datos de una API para una integración que espera un documento. El receptor determina los nombres, atributos y espacios de nombres; cambiar la sintaxis no permite deducir su contrato.

Esta página añade siempre la raíz elegida alrededor de toda la entrada, incluso si es un valor aislado. Expone las convenciones para que puedas comparar el árbol obtenido con el que acepta tu sistema.

¿Por qué revisar JSON a XML aquí?

Mantener los arrays vacíos

JSON a XML conserva un contenedor con el nombre del array y crea un elemento item por entrada. Un array vacío mantiene su contenedor. Los arrays anidados retienen sus niveles aunque cambies el nombre de los elementos.

Un array entra en un contenedor con dos hijos y otro contenedor vacío permanece visible.

Elegir atributos y contenido

@id se convierte en un atributo y #text aporta el texto del elemento. Pueden coexistir, pero el texto junto a elementos hijos se rechaza: un objeto no expresa el orden arbitrario del contenido mixto.

Un valor del objeto pasa a un atributo y otro al texto situado entre las etiquetas.

Convenciones que conviene decidir

01

La raíz es una envoltura adicional

Un objeto con una sola clave no se eleva automáticamente a raíz. La clave queda bajo el elemento que has elegido. El nombre de los miembros del array se usa en todos los niveles.

02

Revisar los campos especiales

La asignación inicial usa @ para atributos y #text para texto; ambos pueden cambiarse. Al desactivarla, todas las claves se comprueban como nombres de elementos, incluidas las que aún conservan los marcadores.

03

Agrupar ajustes en modo manual

La conversión automática espera 350 milisegundos. Desactívala para ejecutar con el botón o Ctrl/Cmd+Enter. Cualquier cambio bloquea la exportación de inmediato. La vista previa muestra 50 nodos cada vez, hasta los primeros 500.

Un árbol con decisiones explícitas

Raíz y espacio de nombres

La raíz y los miembros usan nombres locales válidos de XML 1.0. El URI predeterminado se declara en la raíz y se aplica a todos los elementos. Los atributos sin prefijo no pertenecen a ese espacio.

Una política para null

Por defecto se escribe xsi:nil="true" y se declara xsi automáticamente. El modo de rechazo se detiene al encontrar null. Las cadenas, objetos y arrays vacíos generan elementos vacíos presentes, sin borrar el campo.

Valores escritos con precisión

9007199254740993, -0 y 1e999 conservan sus tokens originales sin pasar por números de coma flotante. Se escapan los caracteres especiales y se usan referencias para tabulaciones y saltos de línea en atributos.

Comprobación independiente

Tras generar el resultado se analiza XML 1.0 y sus espacios de nombres, y se comparan nombres, atributos y texto con el árbol esperado. Elige dos espacios, cuatro o salida compacta, con declaración UTF-8 opcional.

Límites de la representación

No conserva todos los tipos
Los números y booleanos pasan a texto sin anotaciones JSON. Un array, objeto o cadena vacíos pueden producir el mismo elemento. Conservar nodos no garantiza una conversión inversa sin ambigüedad.
No repara claves en silencio
Las claves vacías, con espacios o que comienzan por dígitos provocan un error con JSON Pointer. No se sustituyen caracteres por guiones bajos ni se ordenan claves. Los comentarios y las claves duplicadas también se rechazan.
Atributos y texto exigen escalares
Solo admiten cadenas, números y booleanos distintos de null. Los objetos y arrays son errores en esos lugares. Un campo de texto, incluso vacío, tampoco puede acompañar a elementos hijos.
Alcance limitado de los prefijos
Solo se ofrecen el espacio predeterminado y @xml:lang. Se rechazan otros nombres con dos puntos, xml:space, declaraciones xmlns y cambios de xsi. Los URI reservados XML/XMLNS y la validación XSD, DTD o de contratos SOAP quedan fuera.
Una entrada de texto acotada
Límites: 500.000 caracteres de entrada, profundidad 100, 50.000 nodos y 2.000.000 caracteres de salida. Los controles XML prohibidos y sustitutos aislados causan error. No hay importación de archivos, URL, lotes, CDATA ni operación inversa.

Preguntas sobre JSON a XML

¿Cómo indicar que una propiedad es un atributo?

Con el prefijo inicial, escribe @id para obtener un atributo id. Este convertidor de JSON a XML no convierte automáticamente todos los escalares en atributos. #text designa el cuerpo de texto y puede combinarse con atributos.

¿Cómo se representan los arrays?

Se crea un contenedor con la clave del array y dentro se repite el nombre de miembro elegido. El contenedor permanece aunque no haya miembros. Antes de convertir JSON a XML comprueba si el receptor requiere otra convención de listas.

¿Por qué aparece un error de conversión?

Puede deberse a sintaxis JSON, claves duplicadas, nombres XML inválidos, caracteres prohibidos o valores estructurados en atributos. El conversor de JSON a XML muestra la ruta y la línea para corregir el origen, sin repararlo automáticamente.

¿Existe la conversión inversa?

Esta página solo realiza el sentido JSON hacia XML. El sentido contrario corresponde a otra tarea y puede requerir acuerdos adicionales para recuperar tipos y distinguir objetos de listas.

¿Se admite cualquier forma de JSON?

Se admiten objetos, arrays y escalares en la raíz, siempre bajo la envoltura elegida. Sin embargo, una clave inválida, un carácter no permitido o un null con política de rechazo detienen el documento completo; no se genera una salida parcial.

¿Tu documento necesita una regla de asignación especial?

Prepara el siguiente documento

Usa JSON a XML con el ejemplo y después indica la raíz y el espacio de nombres que requiere tu integración.