Conversor XML ↔ JSON
Convierte documentos XML a JSON y de vuelta, atributos incluidos
Sobre esta herramienta
Convierte XML a JSON para alimentar con respuestas SOAP heredadas, feeds RSS o POMs de Maven a JavaScript, jq o una API nativa de JSON — o ve en sentido contrario y produce XML a partir de datos JSON. Los atributos se conservan: se convierten en claves "@_nombre", y el contenido de texto que coexiste con atributos aterriza bajo "#text", de modo que ninguna información desaparece en silencio.
Los dos formatos discrepan en aspectos fundamentales, y este conversor toma las decisiones pragmáticas estándar: los elementos hermanos repetidos se colapsan en un array JSON, los valores de aspecto numérico se convierten en números y los namespaces viajan como parte del nombre del elemento. El viaje de ida y vuelta XML → JSON → XML conserva estructura y contenido en los documentos típicos.
Ambas direcciones corren localmente en tu navegador. Pega un feed de facturas o una respuesta de API sin que vaya a ninguna parte.
Preguntas frecuentes
- ¿Por qué algunos valores vuelven como números en vez de cadenas?
- El parser reconoce el texto numérico y lo convierte, que es lo que la mayoría de consumidores quiere. Cuidado con los identificadores con ceros a la izquierda (códigos de producto, números de teléfono) — si eso importa para tus datos, entrecomíllalos tras la conversión o trata la salida como un punto de partida.
- ¿Cómo se manejan los elementos repetidos?
- Dos o más hermanos con el mismo nombre se convierten en un array JSON bajo esa clave. Una única aparición se queda como objeto plano — esa asimetría es inherente al mapeo, así que el código que consuma el JSON debería tolerar ambas formas o normalizar primero.
- ¿Qué significan las claves @_ y #text?
- @_ marca lo que era un atributo XML; #text lleva el texto del elemento cuando también hay atributos presentes. Alimentar la dirección JSON → XML con la misma convención reconstruye el marcado original.
- ¿Por qué JSON → XML rechaza mi array de nivel superior?
- Un documento XML debe tener exactamente un elemento raíz, y un array suelto no tiene ninguno. Envuelve el array en un objeto — {"items": {"item": [...]}} — y el conversor produce un documento bien formado.