Skip to content
jsonforge.app

XML to JSON

Converta XML — respostas SOAP, feeds RSS, exportações legadas — em JSON, preservando atributos e relatando erros de parse.

Entrada XML

Loading editor…

Saída JSON

Digite XML à esquerda para convertê-lo.

O que é XML to JSON?

Um conversor de XML para JSON interpreta um documento XML e produz a árvore de objetos JSON equivalente. Esta é a direção que surge quando você precisa consumir algo fora do seu controle: uma resposta de serviço web SOAP, um feed RSS ou Atom, uma exportação de dados de banco ou governo, um sitemap, um arquivo de configuração Android ou Maven, ou qualquer integração legada anterior às APIs JSON. Os dois formatos não mapeiam perfeitamente um no outro, e é isso que torna a conversão algo que vale a pena fazer com cuidado em vez de à mão. O XML distingue atributos de elementos filhos enquanto o JSON tem apenas chaves, e o XML não tem como dizer "este elemento é uma lista" — um contêiner com um item parece estruturalmente idêntico a um contêiner com um único valor. Este conversor mantém os atributos em vez de descartá-los, prefixando cada um com @_ para que nunca colida com um elemento filho real, e armazena o conteúdo de texto do próprio elemento sob #text quando esse elemento também carrega atributos.

Como usar XML to JSON

  1. Cole seu XML no painel esquerdo ou carregue um arquivo .xml do disco usando o ícone de pasta na barra lateral.
  2. A árvore JSON aparece imediatamente à direita — atributos aparecem como chaves @_name e o conteúdo de texto de um elemento aparece como #text sempre que esse elemento também tem atributos.
  3. Se o documento não for bem formado, você recebe a mensagem do validador junto com a linha e coluna exatas, para encontrar rapidamente a tag não fechada ou incompatível.
  4. Copie o JSON ou clique em trocar para inverter o conversor e gerar XML a partir de JSON.

Exemplos

Elementos irmãos repetidos se tornam um array

Entrada

<r><i>1</i><i>2</i></r>

Saída

{ "r": { "i": [ 1, 2 ] } }

Atributos são prefixados e o texto vai sob #text

Entrada

<r><i id="5">hi</i></r>

Saída

{ "r": { "i": { "#text": "hi", "@_id": "5" } } }

Erros comuns

  • Escrever código que assume que um elemento repetido é sempre um array — quando o documento de origem por acaso contém exatamente um deles, a mesma chave torna-se um valor único e o loop quebra em produção com dados reais.
  • Não notar o prefixo @_ nos atributos e buscar pelo nome puro — o valor está lá, só que sob @_id em vez de id.
  • Esperar que texto com aparência numérica permaneça texto — um valor como <i>1</i> é convertido no número JSON 1, então strings de versão e identificadores escritos como dígitos puros perdem seu tipo string.

Por que usar esta ferramenta

  • Roda inteiramente no cliente — respostas SOAP e exportações legadas contendo registros sensíveis nunca saem do seu navegador.
  • Preserva atributos com um prefixo @_ à prova de colisão em vez de descartá-los silenciosamente, como muitos conversores fazem.
  • Valida antes de converter e informa a linha e coluna exatas do problema, em vez de produzir uma saída parcialmente interpretada.

Perguntas frequentes