XML para JSON
Converta documentos XML em JSON limpo e previsível
O que é um conversor de XML para JSON?
XML foi o formato de dados padrão dos anos 2000 e sobrevive em feeds RSS, APIs bancárias, serviços SOAP e arquivos de configuração legados. JavaScript, Python e Go modernos leem JSON com muito mais naturalidade. Um conversor de XML para JSON traduz um documento em objetos simples com um esquema previsível: cada elemento vira um objeto, atributos são prefixados com "@@" para que o atributo "id" nunca colida com um elemento filho chamado "id", o conteúdo de texto vive sob "@text" e os irmãos repetidos colapsam em arrays.
O que ele faz
- Parseia elementos aninhados em objetos JSON
- Separa atributos (prefixo @@) de texto (@text) de filhos
- Agrupa irmãos repetidos em arrays automaticamente
- Trata seções CDATA, comentários, declarações e tags auto-fechadas
- Reporta tags mal emparelhadas ou não fechadas com erro claro
- Formata o JSON com recuo legível
Quando usar
- Ler feeds RSS/Atom ou respostas estilo SOAP
- Migrar configuração XML para pipelines baseados em JSON
- Inspecionar o que uma API XML legada realmente retorna
- Construir fixtures JSON de teste a partir de dados XML de referência
Privacidade: a conversão acontece totalmente no seu navegador — nada que você colar é jamais enviado.
O mapeamento usado por este conversor
- Atributos XML tornam-se chaves com prefixo
@(price currency="EUR"→{"@currency":"EUR"}), para que nunca entrem em conflito com elementos filhos. - Um elemento que mistura texto e filhos armazena seu texto sob
#text; um elemento contendo apenas texto é mapeado para uma string simples. - Elementos irmãos repetidos são agrupados em arrays; a declaração XML, comentários e instruções de processamento são descartados.
Atributos e nós de texto precisam de uma convenção
Atributos e texto, nunca misturados
Atributos viram chaves com prefixo "@@id" e o texto vive sob "@text", então um atributo e um elemento de mesmo nome nunca se sobrescrevem.
Listas continuam listas
Irmãos repetidos colapsam automaticamente em array JSON — um catálogo de cinco livros vira um array de cinco objetos, não um livro sobrescrito.
Tolerante ao XML real
CDATA, comentários, DOCTYPE e tags auto-fechadas parseiam limpos, enquanto XML realmente mal formado falha com mensagem descritiva.
Perguntas frequentes
Como os atributos são representados?⌄
Atributos viram chaves com prefixo "@@", ex: <book id="5"> vira {"@@id":"5"}. Isso evita a clássica colisão entre um atributo "id" e um elemento filho de mesmo nome.
E elementos repetidos?⌄
Irmãos repetidos de mesmo nome são agrupados automaticamente em array JSON. Uma ocorrência única continua um objeto único; várias viram um array — ambos legíveis intuitivamente.
Meu XML é enviado para algum lugar?⌄
Não. Tudo roda no seu navegador com JavaScript puro — nada é transmitido nem armazenado.
Para onde foi meu atributo na saída JSON?⌄
Procure pela chave com prefixo @ no mesmo objeto que seu elemento. Se você vir apenas #text, o elemento tinha atributos E conteúdo; se você esperava um atributo e não encontrar nada, ele estava em um nó pai — expanda a árvore um nível acima.