Cookies Este sitio guarda solo lo imprescindible para funcionar. Hoy no usa analítica ni publicidad, y nada de lo que hay aquí te sigue a otras webs. Leer la política de privacidad

Elegir qué permitir
+92 312 8299940Presupuesto gratis
Herramienta gratis, sin subidas ni cuenta

Convertir XML a JSON
JSON legible a partir de cualquier feed

Pega un feed, una respuesta de API o un archivo de configuración para convertir XML a JSON y recibe un JSON limpio, con atributos, listas y texto conservados.

  • GratisPrecio
  • JSONSalida
  • NingunoRegistro
  • En tu navegadorFunciona

Conversor de XML a JSON

Se convierte en tu navegador y se listan todos los avisos

Registros
0
Profundidad
0
Tamaño
0 B

Listo. Pega tus datos, abre un archivo o prueba el ejemplo.

¿Quieres ir al revés? Convierte JSON a XML

Tu navegador hace todo el trabajo aquí, en esta pestaña. No subimos nada, no guardamos nada y no registramos nada.
De un vistazo

Qué hace esta herramienta para convertir XML a JSON

Este conversor de XML a JSON lee un documento XML y lo reescribe como objetos y listas JSON legibles. Las etiquetas pasan a ser claves, el texto que contienen pasa a ser valores y nada se pierde. Tu navegador lee el XML por sí mismo, así que ningún archivo, venga del feed o sistema que venga, viaja a un servidor.

El XML es más antiguo y más largo que el JSON, pero aún transporta muchísimos datos. Extractos bancarios, etiquetas de envío, feeds de productos y muchos sistemas públicos lo usan a diario. En cambio, la mayor parte del código web prefiere JSON. Esa es la distancia que cubre esta página.

Lo complicado no está en la sintaxis. Es conservar el significado: qué valores eran atributos, qué elementos eran listas y dónde estaba el texto. Por eso el conversor sigue un conjunto claro de reglas para los tres casos, y luego informa de lo que encontró.

Cómo pasa el XML a JSON

Cada elemento se convierte en una clave, y su contenido en el valor. Un elemento que solo tiene texto se convierte en un valor simple, como "title": "Midnight Rain". En cambio, un elemento con otros elementos dentro se convierte en un objeto con una clave por hijo.

Diagrama de un elemento XML de un libro convertido a JSON: el atributo id como clave @id, el texto del precio bajo #text y dos elementos tag convertidos en una lista
Los atributos reciben una @, el texto junto a atributos va bajo #text, y las etiquetas repetidas forman una lista.

Los atributos llevan una @ delante, así que id="bk101" pasa a ser "@id": "bk101". Cuando un elemento tiene atributos y texto a la vez, el texto va bajo una clave #text. Como las mismas dos convenciones funcionan al revés, nuestro conversor de JSON a XML puede reconstruir el archivo original.

Las etiquetas repetidas se convierten en listas en todas partes

XML no tiene tipo lista. En su lugar, simplemente repite un elemento: tres elementos tag seguidos equivalen a una lista de tres. El conversor pasa esas repeticiones a una matriz JSON.

Resultado del conversor de XML a JSON donde un libro con una sola etiqueta también recibe una lista, con la tabla de comprobaciones que explica que las listas se mantuvieron como listas
Una etiqueta suelta también se convierte en lista cuando la misma etiqueta se repite en otra parte.

Sin embargo, un conversor ingenuo crea aquí una trampa. Un libro con dos etiquetas recibe una lista, mientras que un libro con una sola recibe una cadena, así que el JSON cambia de forma de un registro a otro. Esta herramienta detecta el patrón y convierte también la etiqueta suelta en una lista de un elemento. Así, el código que recorre las etiquetas funciona con todos los libros.

XML a JSON con números y booleanos de verdad

En XML todo es texto, incluso un precio. Por defecto el conversor lo mantiene así, que es la opción más segura para ID y códigos. Activa la detección de números cuando quieras números y booleanos JSON de verdad.

Conversor de XML a JSON con la detección de números activada, que muestra los precios como números JSON mientras los atributos y el texto siguen legibles
Activa la detección de números y los precios salen como números JSON reales.

Con la detección activa, 44.95 pasa a ser un número y true pasa a ser un booleano. Aun así, los valores con cero inicial, como un código postal, siguen como texto, porque convertirlos en números los cambiaría.

Feeds, sitemaps y respuestas SOAP

Un feed RSS es un elemento channel con una lista de elementos item dentro. Después de la conversión obtienes un objeto channel con una lista item, así que cada entrada tiene su título, enlace y fecha juntos. Un sitemap funciona igual: cada elemento url se convierte en una entrada, con loc y lastmod como claves.

Las respuestas SOAP de las API antiguas de pagos y envíos envuelven los datos útiles en varias capas. El conversor mantiene cada capa, incluidos prefijos de espacio de nombres como soap:Body. Así puedes ver primero la estructura completa y luego elegir la parte que necesita tu código.

Los espacios de nombres nunca chocan, porque el prefijo sigue siendo parte de la clave. Por eso g:price de un feed de productos y price del documento principal siguen siendo dos claves distintas.

Seguro con XML no fiable

Algunos archivos XML declaran sus propias entidades en un DOCTYPE. Un archivo malicioso puede usarlas para leer archivos locales o para crecer hasta millones de caracteres. Los equipos de seguridad lo conocen como el ataque XXE descrito por OWASP.

Este conversor nunca expande esas entidades, y la tabla de comprobaciones te avisa cuando un archivo intentó declararlas. Además, como la lectura ocurre dentro de tu navegador, el archivo no puede llegar a nada de este sitio.

Si el XML trae errores de estructura

Una etiqueta de cierre que falta, un ampersand sin escapar o dos elementos raíz hacen inválido el XML. El conversor se detiene, muestra el motivo y nombra la línea y la columna. Luego Muéstrame dónde pone el cursor justo encima, así que el arreglo lleva segundos.

El conversor de XML a JSON avisa de una etiqueta de cierre que no coincide, con su línea y su columna, junto al botón Muéstrame dónde
El conversor informa del XML roto con la línea exacta, y un clic te lleva hasta allí.

XML a JSON online, paso a paso

Los desarrolladores usan la conversión para probar una API antigua de SOAP o de pagos desde código moderno. Los equipos de marketing la usan para leer un feed de productos o un sitemap sin abrir un editor XML. Después, los analistas pasan una exportación pública a JSON y la cargan en un cuaderno o un panel.

Las reglas del XML bien formado están en la especificación XML del W3C, y este lector las sigue con rigor. Una vez que tienes el JSON, nuestro formateador JSON puede sangrarlo, ordenar sus claves o dejarlo en una sola línea.

Cuatro pasos

De XML a JSON, paso a paso

Del feed al JSON en menos tiempo del que tardas en abrir un editor.

  • 1

    Añade el XML

    Pégalo, suelta un archivo .xml en el cuadro o ábrelo. El ejemplo es un pequeño catálogo de libros.

  • 2

    Elige los tipos

    Deja la detección de números desactivada para mantener todo como texto, o actívala para tener números reales.

  • 3

    Lee las comprobaciones

    Mira qué listas se mantuvieron, qué entidades se ignoraron y qué profundidad tienen los datos.

  • 4

    Llévate el JSON

    Cópialo o descarga un archivo .json, con sangría o en una sola línea.

Por qué ayuda

JSON con el que tu código puede trabajar

Las formas previsibles importan más que un resultado bonito. Estas funciones mantienen el JSON previsible.

  • Atributos que nunca se pierden

    Cada atributo queda bajo una clave @ justo al lado del elemento al que pertenecía.

  • Listas coherentes

    Una etiqueta que se repite en algún sitio es lista en todas partes, incluso con un solo elemento.

  • El contenido de texto, donde corresponde

    El texto junto a atributos va bajo #text, así que nada de él desaparece.

  • Tipos reales opcionales

    Números y booleanos cuando los pidas, mientras los códigos con ceros iniciales siguen como texto.

  • Ataques de entidades bloqueados

    Las entidades del DOCTYPE nunca se expanden, y las comprobaciones avisan cuando un archivo lo intentó.

  • Líneas de error exactas

    El XML roto se detiene con una línea y una columna, en lugar de un fallo vago.

Antes de convertir

Reglas para un XML que se convierta sin problemas

La mayoría de las sorpresas vienen de alguno de estos puntos.

  • Mantén exactamente un elemento raíz. Todo debe ir dentro de una sola etiqueta exterior, o el XML no está bien formado.
  • Cierra cada etiqueta. Cada etiqueta de apertura necesita su cierre, o debe cerrarse sola con />.
  • Escapa los ampersands del texto. Cambia un & simple por su entidad, o el analizador lo leerá como el inicio de una.
  • Escribe los nombres de etiqueta exactamente igual. XML distingue mayúsculas, así que un Price de apertura y un price de cierre no coinciden.
  • Pon comillas a cada valor de atributo. Sirven las comillas simples y las dobles, pero un valor sin comillas rompe el archivo.
  • Exporta el archivo con codificación UTF-8. Admite todas las escrituras y coincide con la declaración que llevan casi todos los archivos.
  • Evita las entidades propias. El conversor las ignora por seguridad, así que escribe el texto completo.
  • Revisa la profundidad. Un archivo muy anidado produce un JSON muy anidado, que cuesta más usar.
Trampas frecuentes

Seis errores al pasar XML a JSON

Cada uno produce un JSON que parece correcto hasta que el código intenta leerlo.

  • Perder los atributos

    Algunos conversores tiran los atributos, por eso los ID y las monedas desaparecen.

  • Listas que cambian de forma

    Un registro recibe una matriz y el siguiente una cadena, y luego los bucles fallan.

  • Perder el texto mixto

    El texto junto a atributos desaparece si no recibe su propia clave.

  • Redondear códigos

    Convertir 00123 en el número 123 cambia un código de pedido para siempre.

  • Expandir entidades

    Un analizador que sigue las entidades del DOCTYPE puede filtrar archivos o bloquearse.

  • Adivinar pasando por alto errores

    Arreglar XML roto en silencio esconde el problema real en el sistema de origen.

Preguntas

Dudas habituales al pasar de XML a JSON

¿Qué hago para pasar XML a JSON?

Pega el XML en el cuadro de entrada o abre un archivo. Luego el JSON aparece al lado, listo para copiar o descargar.

¿Qué pasa con los atributos XML?

Cada uno se convierte en una clave con @ delante, dentro del objeto de su elemento. Por ejemplo, id="7" pasa a ser "@id": "7".

¿Qué es la clave #text?

Cuando un elemento tiene atributos y texto, el texto necesita un nombre en JSON. Por eso el conversor usa #text, una convención muy extendida.

¿Por qué un solo elemento aparece como lista?

Porque el mismo elemento se repite en otra parte. Así, al mantenerlo como lista, todos los registros tienen la misma forma.

¿Por qué mis números están entre comillas?

XML guarda todo como texto, y el conversor lo mantiene así por defecto. Activa la detección de números para obtener números reales.

¿Respeta los namespaces del XML?

Sí. Los nombres con prefijo como g:price se quedan tal cual, y las declaraciones xmlns aparecen como claves @.

¿Y los comentarios y el CDATA?

El conversor deja fuera los comentarios, porque JSON no tiene sitio para ellos. En cambio, lee las secciones CDATA como texto normal.

¿Puedo convertir un feed RSS o un sitemap?

Sí. Pega el XML del feed o del sitemap, y cada elemento item o url se convierte en una entrada de una lista.

¿Por qué el conversor se detuvo en una etiqueta de cierre?

La etiqueta de cierre no coincide con la que está abierta en ese punto, quizá por una errata o por un cierre que falta antes. El mensaje nombra ambas etiquetas y la línea donde empezó la abierta.

¿Puedo mantener todos los valores como texto?

Sí, la casilla aparece marcada al abrir la herramienta. Deja la detección de números desactivada, y cada valor sigue siendo una cadena tal como aparece en el XML, incluidos precios, fechas y códigos.

¿También lee HTML?

Solo XHTML, que sigue las reglas de XML. El HTML normal permite etiquetas sin cerrar como <br>, así que el lector estricto se detiene en ellas a propósito.

¿Hasta qué tamaño aguanta la herramienta?

Los archivos de varios megabytes se convierten bien. Sin embargo, una entrada muy grande se convierte al pulsar el botón y no con cada tecla.

¿Mi XML sale de mi ordenador?

No. El navegador lo lee y lo convierte en tu propio dispositivo, y nada llega a este sitio.

Siguientes pasos

Más herramientas para trabajar con XML y JSON

Útiles cuando el JSON ya está listo.

¿Listo para leer tu XML como JSON?

Pega el XML y aparece al instante un JSON limpio. El conversor de XML a JSON es gratuito, no pide registro y deja el archivo en tu dispositivo.