tomai
Entrar
Grátis · Ferramentas de desenvolvedor

XML para JSON

Converta documentos XML em JSON limpo e previsível

Entrada XML
Saída JSON

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.

Ferramentas relacionadas

Ferramentas relacionadas