Conversor XML ↔ JSON
Un conversor XML/JSON bidireccional que preserva lo que la mayoría de conversores pierde: atributos, contenido mixto, elementos repetidos. Los atributos se vuelven claves con prefijo `@` (configurable), así `<book id="1">` se vuelve `{"@id": "1"}`. Elementos hijos repetidos se colapsan en arrays. El contenido de texto junto a atributos va a una clave `#text` (también configurable). El lado XML usa el `DOMParser` nativo del navegador — el mismo code path que tu navegador usa para respuestas `application/xml`, así que namespaces, entidades y CDATA todos funcionan. El lado JSON revierte las mismas convenciones para round-tripping.
Cómo usar
- Elige la dirección. Suelta XML (o JSON) — datos de muestra a un clic.
- Ajusta el prefijo de atributo y la clave de texto si apuntas a un esquema específico (`x2js`, `fast-xml-parser`, custom).
- JSON→XML te deja poner un nombre de elemento root y togglear la declaración `<?xml ... ?>`. Copia cuando estés listo.
Preguntas frecuentes
- ¿Por qué prefijar atributos?
- Porque JSON no distingue nativamente atributos de elementos hijos. Prefijar (con `@`, `_`, o lo que quieras) hace el round-trip lossless — puedes convertir XML→JSON→XML y obtener el mismo documento. Sin la convención, atributos colisionarían con nombres de elementos hijos.
- ¿Maneja contenido mixto (`<p>hello <b>world</b>!</p>`)?
- Parcialmente. Texto puro se vuelve string; hijos elemento con texto se vuelven `{ #text: '...' }` junto a los hijos. Texto y elementos intercalados (como `hello <b>world</b>!`) colapsan al texto unido en la clave `#text`, que round-trips pero pierde el orden original. Para documentos con contenido mixto pesado (HTML, DocBook), un parser dedicado es mejor.
Herramientas relacionadas
Objeto JS ↔ JSON
Convierte un literal de objeto JavaScript (`{name: 'Alice'}`) a JSON estricto — o JSON estricto de vuelta a un literal JS limpio con claves sin comillas.
Conversor de escape de strings
Escapa un string para 10 contextos a la vez — JavaScript, JSON, entidades HTML, URL, SQL, regex, Bash (comillas simples/dobles), C string, escapes Unicode \u. Copia el que necesites.
Visor de plist (binario y XML)
Abre una lista de propiedades de Apple —binaria o XML— y léela como árbol, o conviértela a JSON o a plist XML.
Conversor JSON ↔ YAML
Convierte JSON a YAML o YAML a JSON — elige la indentación y copia el resultado.
Convertidor INI ↔ JSON
Convierte entre archivos de configuración estilo INI y JSON — soporta secciones, anidamiento por puntos, comentarios e inferencia de tipos de valor.
Convertidor TOML ↔ JSON
Convierte entre TOML (`Cargo.toml`, `pyproject.toml`, configs Hugo) y JSON — maneja tablas, array-of-tables, tablas inline, escalares tipados.