Convertir XML a JSON
Convierte XML a JSON con xml-js en modo compacto: los atributos van en _attributes, el texto en _text y los elementos hermanos repetidos se convierten en un array. Todos los valores se quedan como cadenas.
Inspeccionar como JSON una respuesta SOAP, RSS o de una API XML heredada antes de escribir el código de análisis.
Cuándo usarla
- Inspeccionar como JSON una respuesta SOAP, RSS o de una API XML heredada antes de escribir el código de análisis.
- Extraer valores de atributos y de texto de una exportación XML para usarlos en herramientas basadas en JSON.
Cómo usarla
- Pega XML o carga un archivo .xml en el editor izquierdo.
- En el JSON, lee los atributos en _attributes, el texto de los elementos en _text y los elementos repetidos en arrays.
- Copia el JSON y asigna los campos que necesites a tu propia estructura.
Entrada XML
<order id="1042"> <customer>Ada Lovelace</customer> <item sku="A-1">Keyboard</item> <item sku="B-7">Mouse</item> </order>
JSON
{
"order": {
"_attributes": {
"id": "1042"
},
"customer": {
"_text": "Ada Lovelace"
},
"item": [
{
"_attributes": {
"sku": "A-1"
},
"_text": "Keyboard"
},
{
"_attributes": {
"sku": "B-7"
},
"_text": "Mouse"
}
]
}
}Detalles y limitaciones
La conversión se ejecuta en el navegador. No hay opciones; el formato compacto es fijo.
Un elemento que aparece una vez es un objeto, pero si aparece dos veces se convierte en un array, así que la forma del JSON puede cambiar según los datos. Contempla ambos casos en el código.
La declaración XML, los comentarios y las secciones CDATA se conservan como _declaration, _comment y _cdata. No se valida contra ningún esquema (XSD) ni DTD.
El contenido mixto (texto intercalado con etiquetas) pierde su orden original.
FAQ
¿Los números y booleanos se convierten a tipos JSON?
No. Los valores de atributos y el texto se quedan como cadenas, por ejemplo "1042". Convierte los tipos en tu propio código cuando haga falta.
¿Qué pasa si mi XML está mal formado?
La página muestra un error "Invalid XML" en lugar del JSON, como "unclosed tag <order>" o "Unexpected close tag (line 3, column 8)". Cierra todos los elementos, pon entre comillas los valores de los atributos y escapa & como &.
¿Puedo obtener JSON sin las claves _text y _attributes?
No en esta página. El formato compacto las mantiene para que no se confundan atributos y texto. Reorganiza el resultado en código después de copiarlo.