1001Ferramentas
🔄Conversores

Conversor JSON ↔ XML

Converte entre JSON e XML preservando atributos via @attr e textos via #text, com pretty-print do XML resultante.

Use chaves prefixadas com @ para atributos XML e #text para texto interno.


    

Quando o sistema do outro lado só fala XML

Sua API devolve JSON, o sistema do cliente exige XML, e no meio do caminho alguém precisa traduzir. Acontece o tempo todo em integração com ERP antigo, serviço SOAP e arquivo fiscal. Em vez de escrever um script descartável só para conferir se a estrutura sai do jeito certo, você cola de um lado e lê o resultado do outro, nas duas direções, com botão de exemplo para ver a convenção antes de arriscar o seu dado real.

A tradução usa uma convenção que vale a pena entender antes de confiar na saída: chaves que começam com arroba viram atributos do elemento, e a chave especial de texto vira o conteúdo do nó. Assim um objeto com arroba id e um campo nome vira uma tag com id como atributo e nome como filho. No caminho inverso, elementos irmãos de mesmo nome viram um array. É aqui que mora a pegadinha clássica: um elemento que aparece uma vez sozinho volta como objeto, e o mesmo elemento aparecendo duas vezes volta como lista.

Por causa disso, quem consome o JSON gerado a partir de XML precisa normalizar antes de iterar, senão o código quebra justamente no caso de um item só. Vale testar com um exemplo mínimo e outro com repetição antes de fechar o contrato da integração. A conversão inteira roda no navegador, sem nenhuma chamada de rede, então dá para colar payload de homologação sem se preocupar com para onde o dado vai.

Perguntas frequentes

Como os atributos XML aparecem no JSON?
Como chaves prefixadas com arroba. O atributo id de uma tag vira a chave arroba-id no objeto correspondente, e o texto solto do elemento vira a chave sustenido-text.
Por que às vezes vem objeto e às vezes vem array?
A regra segue o XML: um elemento que aparece uma única vez vira objeto, e dois ou mais irmãos de mesmo nome viram array. Normalize no seu código antes de percorrer a lista.
O conteúdo colado é enviado para algum servidor?
Não. A conversão acontece no próprio navegador, em JavaScript, sem requisição de rede. Fechou a aba, não sobra nada.

Ferramentas Relacionadas