onlinetools.dev

Conversor XML ↔ JSON

Convierte documentos XML a JSON y de vuelta, atributos incluidos

Se ejecuta localmente
loading…
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.
Herramientas relacionadas