Conversor de XML para JSON
Converta um documento XML, um feed RSS, um percurso GPX ou qualquer ficheiro XML em JSON, com atributos, elementos repetidos e texto tratados da forma habitual.
Resultados
O que faz esta ferramenta
O XML e o JSON descrevem o mesmo tipo de árvore, mas o XML tem coisas que o JSON não tem, por isso qualquer conversor tem de escolher uma convenção. Este usa a mais corrente: os atributos viram chaves começadas por @, os elementos repetidos com o mesmo nome viram uma lista, um elemento que só tem texto vira esse texto, e o texto ao lado de elementos filhos vai para #text. Por defeito todos os valores ficam como texto, a única escolha sem perdas, porque o XML não sabe dizer se 007 é um número; mude para valores com tipo se quiser números e true/false como valores JSON. Os comentários e a declaração <?xml?> saem, e os prefixos de espaço de nomes ficam como parte dos nomes.
Fórmula
atributo → "@nome" ; texto ao lado de filhos → "#text" ; filhos com o mesmo nome → lista ; elemento vazio → null
Variáveis
| Símbolo | Significado | Unidade |
|---|---|---|
text | XML | — |
types | Valores | — |
indent | Espaços de indentação | — |
OUT | JSON | — |
EL | Elementos lidos | — |
AT | Atributos | — |
DP | Profundidade | — |
Exemplo resolvido
- XML<?xml version="1.0" encoding="UTF-8"?> <library name="City"> <book id="1" available="true"> <title>Dom Casmurro</title> <year>1899</year> </book> <book id="2" available="false"> <title>Os Maias</title> <year>1888</year> </book> <link>https://example.org</link> </library>
- Valores0
- Espaços de indentação2
- JSON{ "library": { "@name": "City", "book": [ { "@id": "1", "@available": "true", "title": "Dom Casmurro", "year": "1899" }, { "@id": "2", "@available": "false", "title": "Os Maias", "year": "1888" } ], "link": "https://example.org" } }
- Elementos lidos8
- Atributos5
- Profundidade3
Limitações
- O cálculo é feito inteiramente no seu navegador. Os valores que introduz nunca são enviados para um servidor.