Conversor Gratuito

XML to JSON Converter

Convert XML data or files to JSON format instantly in your browser. Supports custom indentation and handles nested structures.

Select XML file

or drag and drop here

Ou

Sobre esta ferramenta

XML e JSON são formatos de intercâmbio de dados, mas vêm de épocas diferentes da web. XML, padronizado em 1998, foi projetado como um formato de marcação autodescritivo com atributos, namespaces e validação de esquema. JSON surgiu no início dos anos 2000 como um formato mais leve, mais adequado para tempos de execução de JavaScript e APIs modernas. A maioria das novas APIs da web fala JSON; muitos sistemas mais antigos — serviços SOAP, feeds RSS, arquivos de configuração, integrações empresariais — ainda produzem XML. A conversão entre eles é uma das tarefas de interoperabilidade mais comuns no desenvolvimento moderno.

A conversão não é perfeitamente sem perdas porque os dois formatos têm poderes expressivos diferentes. XML possui atributos (que o JSON não possui nativamente), distingue entre conteúdo de texto e nomes de elementos e oferece suporte a conteúdo misto (elementos contendo texto e elementos filhos). O modelo simples de objeto/array do JSON não pode representar diretamente esses recursos, portanto, os conversores aplicam convenções: os atributos tornam-se chaves com prefixo @, o conteúdo do texto torna-se uma chave #text e assim por diante.

Este conversor analisa XML usando o DOMParser integrado do navegador e percorre a árvore DOM resultante para produzir JSON. Elementos com o mesmo nome de tag dos irmãos são coletados em arrays; os atributos vão para chaves especiais; namespaces e instruções de processamento são preservados quando presentes. O resultado é um JSON legível por humanos que retorna razoavelmente ao XML.

Por que converter XML em JSON

A maioria dos códigos de aplicativos modernos fica mais confortável com JSON. JavaScript analisa JSON nativamente, o módulo json do Python está na biblioteca padrão e praticamente todas as outras linguagens têm suporte equivalente a JSON de primeira classe. O processamento XML requer a importação de bibliotecas adicionais e a gravação de mais clichês. A conversão de XML recebido em JSON antes do processamento costuma ser o caminho mais rápido do feed XML externo para a estrutura de dados interna.

As ferramentas também são baseadas em JSON. Embelezadores JSON, validadores, validadores de esquema, linguagens de consulta (jq, JSONPath) e visualizadores são abundantes; os equivalentes XML são menos numerosos e frequentemente mais antigos. Trabalhar em JSON desbloqueia um ecossistema de ferramentas mais rico.

Como usar

Cole XML, obtenha JSON.

  1. Cole ou carregue seu XML: Cole o texto XML na área de entrada ou solte um arquivo. O XML deve estar bem formado; XML malformado produz um erro de análise em vez de uma estimativa.
  2. Converter: DOMParser constrói um DOM, o conversor percorre cada elemento e o JSON é gerado usando chaves de atributos (@attr) e chaves de conteúdo de texto (#text) quando necessário. Elementos irmãos com o mesmo nome tornam-se arrays.
  3. Revise a estrutura: Inspecione o JSON para confirmar se os atributos, o texto e o aninhamento estão mapeados conforme o esperado. As convenções usadas (por exemplo, @ para atributos) são visíveis na saída.
  4. Baixe ou copie: Salve como .json ou copie para a área de transferência.

Casos de uso comuns

Detalhes técnicos

DOMParser produz um DOM XML idêntico ao que o navegador usa para páginas XHTML. O conversor percorre este DOM recursivamente. Para cada elemento ele cria um objeto JSON: os atributos tornam-se chaves prefixadas com @ (por exemplo, @id, @class); os elementos filhos do elemento são recorrentes na mesma estrutura; o conteúdo do texto, quando presente ao lado das crianças, fica sob uma chave #text.

Elementos filhos repetidos com o mesmo nome de tag são coletados em uma matriz JSON. Um único filho de um determinado nome aparece como um valor de objeto; vários filhos aparecem como uma matriz de objetos. Esta convenção funciona bem na prática, mas significa que a forma JSON depende se os elementos aparecem uma ou várias vezes – uma imperfeição conhecida do mapeamento XML para JSON.

Namespaces são preservados como parte dos nomes dos elementos (prefixo:localName). As instruções de processamento e seções CDATA são convertidas em conteúdo de texto. As declarações XML e DOCTYPEs são removidas da saída JSON, mas não afetam os dados.

Melhores Práticas

Perguntas frequentes

A conversão de XML em JSON altera o conteúdo?
O conteúdo é preservado com a maior precisão possível. No entanto, alguns recursos específicos de formato podem não ter equivalentes diretos, portanto, podem ocorrer pequenas diferenças de formatação.
Por que converter dados para o formato JSON?
JSON é o formato de dados padrão para APIs da web e aplicativos JavaScript. É legível por humanos, amplamente suportado por linguagens de programação e possui uma sintaxe mais simples que o XML.
O conversor lida com estruturas XML aninhadas ou complexas?
Sim. A ferramenta analisa corretamente objetos aninhados, matrizes e todos os tipos de dados XML padrão, preservando a estrutura de dados completa na saída JSON.
Esta conversão é segura e privada?
Sim. Todo o processamento acontece localmente no seu navegador. Seus dados nunca saem do seu dispositivo – sem upload de servidor, sem processamento na nuvem, sem coleta de dados.
As seções CDATA são tratadas?
Sim. O conteúdo CDATA é convertido em texto simples na saída JSON. O empacotamento CDATA em si não é preservado, mas o conteúdo é.
Meus dados são enviados para um servidor?
Não. O DOMParser é executado no seu navegador; a conversão acontece inteiramente no seu dispositivo.
A viagem de ida e volta do JSON retornará ao XML?
Sim, se você usar a convenção inversa (a ferramenta JSON para XML segue as mesmas regras @attr e #text). A viagem de ida e volta preserva a estrutura do XML típico; alguns casos extremos (ordem de conteúdo misto, instruções de processamento) podem não sobreviver perfeitamente.
Qual é o tamanho máximo de entrada?
Até 50 MB. DOMParser é limitado pela memória do seu navegador; arquivos XML muito grandes podem ficar lentos ou falhar na análise.