Cómo se usa
- Pega el XML o carga el ejemplo.
- Elige si quieres convertir los números y los booleanos.
- Copia el JSON o descárgalo.
Opciones explicadas
- Atributos
- Un atributo como id="bk101" pasa a ser la clave "@id". El texto junto a atributos va a "#text".
- Elementos repetidos
- Los elementos que aparecen más de una vez bajo el mismo padre se convierten en un array JSON; un elemento único sigue siendo un objeto.
- Convertir números y booleanos
- Si está activado, 44.95 se convierte en número y true en booleano. Desactívalo para conservar códigos como 00123 tal como están escritos.
Ejemplo
Este XML, con una declaración y un comentario:
<?xml version="1.0"?>
<!-- c -->
<catalog>
<book id="bk101" in_stock="true">
<title>XML Guide</title>
<price currency="USD">44.95</price>
<tag>a</tag><tag>b</tag>
<isbn>00123</isbn>
</book>
</catalog>
se convierte en este JSON con Convertir números y booleanos activado:
{
"catalog": {
"book": {
"title": "XML Guide",
"price": {
"#text": 44.95,
"@currency": "USD"
},
"tag": [
"a",
"b"
],
"isbn": 123,
"@id": "bk101",
"@in_stock": true
}
}
}
Los atributos se listan después de los elementos hijos. La declaración y el comentario desaparecen, y tag pasó a ser un array porque aparece dos veces. Con la opción desactivada, 44.95 sigue siendo “44.95”, isbn sigue siendo “00123” y el atributo pasa a ser “true” como texto. Afecta tanto a los valores de los atributos como al texto de los elementos.
Preguntas frecuentes
¿Qué pasa con los comentarios y la declaración XML?
Se descartan, porque JSON no tiene dónde guardarlos. Los datos de elementos y atributos se conservan.
¿Por qué a veces una lista sale como objeto en lugar de array?
XML no indica si un elemento puede repetirse. Si solo aparece una vez, el conversor no puede saber que es una lista, así que genera un objeto.
¿Y si el XML no es válido?
Se muestra el primer error con su número de línea, por ejemplo una etiqueta de cierre que no coincide.
Privacidad
Esta herramienta funciona por completo en tu navegador. Tus archivos y textos se procesan en tu dispositivo y nunca se suben a nuestros servidores.