Ir para o conteúdo principal

Conversor de XML para JSON

Transformar um documento XML em JSON, mantendo ou descartando os atributos.

Processado no seu navegador. Este arquivo é convertido no seu dispositivo e nunca é enviado.

Conversor

Entrada

.xml até 25 MB. Você também pode arrastar um arquivo até aqui.

Opções
O JSON não tem atributos, então eles precisam de uma convenção de nomes.
Desligue para um arquivo menor, em uma linha só.

Nenhum arquivo selecionado.

Sobre esta ferramenta

XML chega de APIs antigas, feeds RSS, sitemaps e documentos de escritório exportados, e a maior parte do código moderno prefere trabalhar com JSON. Esta ferramenta interpreta um documento XML e escreve o JSON equivalente.

Atributos XML não têm equivalente direto em JSON, então você decide de saída se eles ficam sob chaves com prefixo ou são descartados.

Formatos suportados e limites

Entrada
.xml
Saída
.json (application/json)
Nome do arquivo gerado
The original name with the new extension, for example data.xml becomes data.json.
Tamanho máximo
25 MB
Processamento
No seu navegador. O arquivo não é enviado.

Como usar

  1. Escolha um arquivo .xml, ou mude para Colar texto e cole o documento direto.
  2. Decida como os atributos devem ser tratados.
  3. Escolha se o JSON deve sair indentado.
  4. Selecione Converter e baixe o arquivo .json.

Limitações

  • A conversão não é perfeitamente reversível. O XML carrega distinções que o JSON não consegue expressar, incluindo atributo contra elemento, ordem entre nós de nomes diferentes e conteúdo misto.
  • Um elemento repetido vira uma lista, mas um elemento que aparece exatamente uma vez vira um valor único. O código que ler o resultado precisa lidar com as duas formas.
  • Conteúdo misto, em que texto e elementos filhos ficam lado a lado no mesmo elemento, não é representado fielmente.
  • Comentários, instruções de processamento e DTDs são descartados.
  • Prefixos de namespace continuam fazendo parte do nome da chave; não são resolvidos para as URIs.
  • Os valores continuam como texto, então algo com cara de número não é convertido em número.

Perguntas frequentes

Meu arquivo é enviado?
Não. A conversão acontece inteiramente no seu navegador. O arquivo nunca sai do seu dispositivo e nenhuma requisição carrega o conteúdo dele.
O que o prefixo @ significa na saída?
Ele marca um valor que veio de um atributo XML, e não de um elemento filho, o que impede que os dois se choquem quando têm o mesmo nome.
Por que um item é objeto e outro é lista?
O XML não dá pista de que um elemento é repetível, então uma ocorrência única parece um valor único. Se quem consome precisa de uma lista, normalize depois da conversão.
O que acontece com XML inválido?
O documento é validado antes da leitura, e uma tag não fechada ou trocada interrompe a conversão informando a linha e a coluna onde está o problema.