Funciona no seu dispositivo · O seu arquivo nunca sai do seu dispositivo.
Solte um arquivo .xml ou cole o XML de uma API, de um feed ou de um arquivo de configuração e receba um JSON com que dá para trabalhar. O documento é lido pelo leitor de XML do próprio navegador, então tudo que é bem formado converte, e um arquivo com defeito é reportado com a linha e a coluna do problema.
O mapeamento é fixo e reversível: cada elemento vira uma chave; irmãos com o mesmo nome viram uma lista; atributos ficam em chaves começando com @ (id="3" vira "@id": "3"); e quando um elemento tem texto e também filhos ou atributos, o texto vai para "#text". Um elemento só com texto vira o próprio valor.
Com a detecção de tipos ligada, texto como 12, true ou um elemento vazio vira número, booleano ou null; desligue para manter tudo como texto. Nomes com namespace (soap:Body) ficam como estão escritos. A prévia mostra as primeiras 200 linhas antes de você baixar.
Como Converter XML em JSON
Solte um arquivo XML, ou cole o XML na caixa.
Decida se números, booleanos e elementos vazios devem ser tipados.
Clique em «Converter para JSON» e confira a prévia.
Baixe o .json.
Formatos suportados e limites
Entrada
XML (.xml) — arquivo ou texto colado, UTF-8
Saída
JSON formatado, UTF-8
Atributos
Mantidos como chaves "@nome"
Elementos repetidos
Viram uma lista
Onde roda
No seu navegador — sem enviar nada
Não serve para: Documentos que não são XML bem formado (tags sem fechar, páginas HTML) — o leitor aponta o primeiro problema em vez de adivinhar.
Perguntas frequentes
Meus arquivos são enviados para algum servidor?
Não. A conversão acontece inteiramente no seu navegador, com a capacidade do seu próprio aparelho. O arquivo não sai do seu computador nem do seu celular — por isso a ferramenta também funciona sem internet depois que a página carregou.
Como atributos e conteúdo misto são tratados?
Atributos viram chaves com prefixo @, então <item id="3"> dá "@id": "3". Se um elemento tem texto além de atributos ou elementos filhos, o texto fica em "#text"; um elemento só com texto vira esse texto diretamente.
Por que um elemento vira objeto e os repetidos viram lista?
Um elemento que aparece uma vez dentro do pai vira um objeto (ou um valor); dois ou mais irmãos com o mesmo nome viram uma lista. Isso espelha o documento exatamente, então uma lista de um item só é um objeto — se o seu código precisa de lista nos dois casos, envolva do lado que recebe.
Como fica o topo do JSON?
Uma chave com o nome do elemento raiz, contendo tudo que está dentro — <registros>…</registros> vira {"registros": {...}}. Isso preserva o nome da raiz para a ferramenta de JSON para XML reconstruir o mesmo documento.