XML a JSON — convertidor en línea gratuito

DOMParser fiel al navegador, con errores legibles en toasts.

Cargando…
Guía de interoperabilidad XML → JSON
Explica el colapso de etiquetas duplicadas para ingenieros que comparan con salidas legacy del desplegable.

Notas para desarrolladores

Los nodos de contenido mixto se aplanan según las reglas de paridad de xmlToJson(). El pretty print es solo para el portapapeles. Valida los esquemas JSON consumidores antes de producción.

Cuándo los equipos eligen esta ruta

Mocks front-end de payloads fetch() desde exportaciones SOAP. Squads de plataforma comparando configs antes de migraciones REST. Herramientas exploratorias SRE.

Acerca de las opciones

CSV salida: delimitador (Auto sigue la configuración regional — punto y coma en /es), comillas, finales de línea, fila de encabezado. CSV entrada: delimitador detectado automáticamente en la primera línea (coma, punto y coma, tabulación o pipe) — activa «primera fila = nombres de columnas». Salida JSON (fuentes XML, YAML o CSV): indentación compacta o no y ordenación recursiva opcional. JSON → XML: formato y ancho. Salida YAML: indentación, modo legible/compacto, comillas deterministas. Los comentarios XML no se recuperan en el árbol JSON.

Ejemplos trabajados

Atributos elevados como campos JSON junto al texto anidado

Entrada de ejemplo

<?xml version="1.0" encoding="UTF-8"?> <config env="production" region="eu-west"> <database> <host>db-primary.internal</host> <port>5432</port> <name>checkout</name> <ssl enabled="true" /> </database> <cache ttl="300"> <redis host="cache.internal" port="6379" /> </cache> <features> <flag name="checkout-v2" enabled="true" rollout="25" /> <flag name="dark-mode" enabled="false" /> </features> </config>

Salida de ejemplo

{ "config": { "env": "production", "region": "eu-west", "database": { "host": "db-primary.internal", "port": "5432", "name": "checkout", "ssl": { "enabled": "true" } }, "cache": { "ttl": "300", "redis": { "host": "cache.internal", "port": "6379" } }, "features": { "flag": [ { "name": "checkout-v2", "enabled": "true", "rollout": "25" }, { "name": "dark-mode", "enabled": "false" } ] } } }

Etiquetas repetidas colapsan en arrays

Entrada de ejemplo

<catalog> <book><title>Alpha</title><year>2020</year></book> <book><title>Beta</title><year>2022</year></book> <book><title>Gamma</title><year>2024</year></book> </catalog>

Salida de ejemplo

{ "catalog": { "book": [ { "title": "Alpha", "year": "2020" }, { "title": "Beta", "year": "2022" }, { "title": "Gamma", "year": "2024" } ] } }

Navegar convertidores relacionados

Experimentos round-trip: JSON → XML, reduce archivos con el minificador XML o convierte a YAML con XML → YAML. Más rutas en el hub convertidores XML.

FAQ XML → JSON

Parseo en el navegador

¿Diferente de xmllint?

Aquí se usa DOMParser — ideal para fragmentos, menos para volcados de gigabytes.

¿Validación XSD?

Solo validez estructural.

¿CDATA preservado?

Los nodos de texto conservan contenido equivalente — revisa los consumidores JSON.

¿Por qué diferencias de comillas?

Copia/pega y pasa por tu formateador según necesites.

Convierte XML a YAML, CSV, JSON, TOML, TSV y HTML.