Saltar al contenido

Conversor XML ↔ JSON gratis

Convertir XML a JSON (atributos preservados) y JSON a XML con declaración.

✓ Gratis✓ Sin registro✓ Funciona en el navegador

Cargando herramienta…

Cómo convertir XML y JSON mientras se revisan los cambios de estructura

Convertir XML a JSON o JSON a XML. Inspecciona atributos y asignaciones de texto antes de importar el resultado a otro sistema.

  1. Elige XML a JSON o JSON a XML.
  2. Pegar contenido fuente válido.
  3. Selecciona Convertir y revisa la salida o el error.
  4. Copiar o descargar y verificar contra el esquema de destino.

Al convertir entre XML y JSON ayuda

Muchos sistemas antiguos, como los feeds de productos, las exportaciones bancarias y los servicios SOAP, aún ofrecen XML, mientras que la mayoría de las aplicaciones y scripts web modernos prefieren JSON. Convertir una muestra permite a los desarrolladores ver cómo se verán los datos en el otro lado antes de escribir una importación.

La dirección inversa ayuda cuando un socio o herramienta de legado necesita un archivo XML y tus datos ya viven en JSON. Analistas y evaluadores también pueden utilizar el convertidor para inspeccionar una alimentación rápidamente sin abrir un editor completo.

Un ejemplo trabajado en ambas direcciones

Pega el XML <note priority="high"><to>Ada</to><from>Linus</from><body>Ship it!</body></note> y elige XML a JSON. El resultado es un objeto cuya única clave es note. Dentro están "@priority": "high", "to": "Ada", "from": "Linus" y "body": "Ship it!", con sangría de dos espacios.

Los elementos repetidos se convierten en matrices. El XML <list><item>1</item><item>2</item></list> se convierte en {"lista": {"ítem": ["1", "2"]. Ten en cuenta que los números permanecen como cadenas, porque el texto XML no tiene tipos de datos.

Para JSON a XML, el objeto {"user": {"@id": "7", "nombre": "Ana", "tags": ["a", "b"] # produce una línea de declaración XML, luego <user id="7">, un <name>Ana</name> con sangría, dos elementos de etiquetas separadas que contienen a y b, y una etiqueta de cierre </user>.

Cómo funciona el mapeo

Los atributos se convierten en claves que comienzan con @. Un elemento con sólo texto se convierte en una cadena de texto. Un elemento con atributos y texto almacena el texto bajo #text. Los elementos infantiles se convierten en claves anidadas, y los hermanos del mismo nombre se agrupan en una matriz. Se recortan los espacios de dirección y de seguimiento en el texto, y los comentarios no se transmiten.

Volviendo a XML, las teclas que comienzan con @ se convierten en atributos, #text se convierte en texto de elemento, los arrays repiten el elemento y null se convierte en una etiqueta vacía de cierre automático. Si el objeto de nivel superior tiene una clave, nombra el elemento raíz. De lo contrario todo está envuelto en un elemento raíz. Se escapan caracteres especiales como & y <, los nombres de los elementos deben ser nombres XML válidos y la anidación se limita a 40 niveles.

Errores comunes a evitar

No esperes un viaje de ida y vuelta perfecto. Un elemento único se convierte en una cadena, mientras que dos se convierten en una matriz, por lo que la lectura de código de JSON debe manejar ambas formas. Los números y los valores verdaderos o falsos de XML también llegan como texto.

El contenido mixto, donde el texto se encuentra junto a los elementos secundarios, como un párrafo con una etiqueta en negrita dentro, es rechazado en lugar de cambiar silenciosamente. Para JSON a XML, no se acepta un array de nivel superior, y las teclas con espacios o que comienzan con un error de dígito porque no son nombres de elementos válidos.

Consejos útiles y limitaciones

  • Los atributos usan @-prefixed keys; el texto asociado puede usar #text.
  • Texto mixto y elementos secundarios son rechazados porque este mapeo no puede preservarlos sin pérdidas.
  • Validar una pequeña muestra primero, luego convertir el archivo completo una vez que la estructura se ve bien.
  • Si un campo siempre debe ser una matriz en su JSON, comprueba un registro que tenga sólo un hijo de ese tipo.

Preguntas frecuentes

¿Conserva cada detalle XML?

No. Formateo, comentarios y contenido mixto complejo no están garantizados a ida y vuelta.

¿Por qué los niños repetidos se convierten en una matriz?

Múltiples niños con el mismo nombre necesitan una colección en la asignación JSON.

¿Qué forma JSON se acepta para la exportación de XML?

Usa un objeto. Una sola propiedad puede nombrar la raíz; varias propiedades reciben un envoltorio raíz.

¿Se guardan los espacios de nombres XML?

Los nombres de elementos mantienen sus prefijos, como jabon:Body, y las declaraciones de espacio de nombres aparecen como claves de atributo @xmlns. El convertidor no resuelve espacios de nombres más allá de eso.

¿Qué pasa con un elemento vacío?

Un elemento vacío sin atributos se convierte en una cadena vacía en JSON. En la otra dirección, un valor nulo se convierte en una etiqueta de auto-cierre.

¿Puedo descargar el archivo convertido?

Sí. El botón Descargar guarda el resultado como data.json u data.xml, dependiendo de la dirección que elijas.

Su entrada se procesa en tu navegador sin una cuenta ToolWorld Online. Copia o descarga cualquier cosa que quieras guardar antes de salir de la página.

Lee nuestra política de privacidad · Acerca de ToolWorld Online