Conversor de JSON para XML

Transforme arrays ou objetos JSON em XML bem formado. Cole ou envie JSON, personalize nomes de elementos, indentação e atributos, e copie ou baixe o resultado, tudo no seu navegador.

100% Processamento no Lado do Cliente

Seu JSON é analisado e convertido totalmente no seu navegador. Nada é enviado para um servidor.

Opções

Saída XML
Linhas: 0 Caracteres: 0

O que é um conversor de JSON para XML?

Um conversor de JSON para XML pega dados JSON estruturados — um array de objetos ou um único objeto — e os reescreve como XML (Extensible Markup Language), o formato de dados baseado em tags usado por APIs corporativas legadas, serviços SOAP, feeds RSS/Atom, arquivos de configuração e muitos sistemas de processamento de documentos e troca de dados B2B anteriores ao JSON ou que nunca o adotaram.

O conversor percorre a estrutura JSON e mapeia cada chave para um elemento XML: chaves de objeto viram elementos filhos, arrays repetem o mesmo elemento uma vez por item, e valores primitivos viram o conteúdo de texto do elemento — produzindo XML bem formado e indentado que você pode colar diretamente em um sistema que consome XML.

Como funciona

  • Adicione seu JSON: cole o JSON diretamente no editor ou envie um arquivo .json.
  • Escolha suas opções: defina um nome de elemento raiz, um nome de elemento para itens de um array de nível superior, um estilo de indentação, se deve incluir a declaração XML, e se as chaves com prefixo @ devem virar atributos XML.
  • Veja o resultado instantaneamente: a ferramenta analisa seu JSON no navegador e mostra o XML convertido enquanto você digita, junto com a contagem de linhas e caracteres.
  • Copie ou baixe: copie o XML para a área de transferência ou baixe-o como um arquivo .xml.

Recursos

  • Cole JSON ou envie um arquivo .json
  • Conversão instantânea e ao vivo enquanto você digita, sem precisar clicar em nada
  • Funciona com um único objeto JSON ou um array de objetos
  • Nomes de elemento raiz e de item de array personalizáveis
  • Arrays viram elementos irmãos repetidos, não tags contêiner indexadas
  • Chaves com prefixo @ viram atributos XML em vez de elementos filhos
  • Indentação configurável (2, 4, 8 espaços ou tabulação)
  • Declaração XML opcional (<?xml version="1.0" encoding="UTF-8"?>)
  • Escape automático de &, <, > e " em textos e valores de atributos
  • Nomes de elemento XML inválidos são corrigidos automaticamente
  • Contagem de linhas e caracteres em tempo real
  • Processamento 100% no navegador para sua privacidade

Boas práticas

  • Dê ao elemento raiz um nome significativo: o padrão "root" funciona, mas um nome que combine com seu esquema (por exemplo, "customers", "order") torna o resultado mais fácil de ler e validar depois.
  • Use chaves com prefixo @ para valores que deveriam ser atributos: se o seu JSON já modela campos do tipo atributo com um prefixo "@" (uma convenção comum ao ir e voltar entre XML e JSON), ativar "Usar chaves com prefixo @ como atributos XML" produz XML condizente com o uso típico de atributos, em vez de uma camada extra de elementos filhos.
  • Mantenha as chaves de objeto consistentes com as regras de nomenclatura XML: chaves com espaços, dígitos iniciais ou caracteres especiais são corrigidas automaticamente para nomes de elemento XML válidos, então manter suas chaves JSON próximas de identificadores válidos evita surpresas no resultado.
  • Confira como arrays vazios e nulos são representados: ambos produzem um elemento autofechado (por exemplo, <tags/>) em vez de serem omitidos, então analisadores XML posteriores que dependem da presença do elemento ainda o encontram.
  • Valide contra o seu esquema de destino: esta ferramenta produz XML bem formado, mas não tem conhecimento de um DTD ou XSD específico — rode o resultado pelo seu validador de esquema se o sistema receptor exigir um.

Solução de problemas

Diz que meu JSON é inválido

Verifique se há uma vírgula sobrando após o último item de um array ou objeto, chaves sem aspas, aspas simples em vez de duplas, ou um colchete não fechado — essas são as causas mais comuns de falha ao analisar JSON.

Um array produz elementos repetidos em vez de um único elemento envolvente

Isso é intencional: `"tags": ["a", "b"]` sob uma chave produz `<tags>a</tags><tags>b</tags>` como irmãos, que é a convenção padrão usada pela maioria das ferramentas de JSON para XML, em vez de um envoltório `<tags><item>a</item><item>b</item></tags>`.

Uma chave mudou no resultado, tipo my key virando my_key ou 2fa virando _2fa

Nomes de elemento XML não podem conter a maioria dos caracteres especiais nem começar com um dígito, então chaves inválidas são corrigidas automaticamente (caracteres inválidos substituídos por sublinhados, um sublinhado inicial adicionado se o nome começar com um dígito) para manter o resultado bem formado.

Os atributos não apareceram mesmo tendo chaves com prefixo @

Certifique-se de que "Usar chaves com prefixo @ como atributos XML" esteja ativado — com ele desativado, chaves com prefixo @ são tratadas como elementos filhos normais, como qualquer outra chave.

Casos de uso comuns

  • Integrar com APIs legadas ou baseadas em SOAP: muitos sistemas corporativos e governamentais ainda esperam payloads de requisição ou importação em XML — converta JSON de uma fonte moderna para o formato XML que eles exigem.
  • Gerar feeds no estilo RSS/Atom: converta conteúdo JSON estruturado em um formato de feed XML para sindicação.
  • Produzir arquivos de configuração: algumas ferramentas de build, sistemas de CI e aplicações legadas leem configuração como XML em vez de JSON.
  • Migrar dados entre sistemas baseados em XML e JSON: exporte de um banco de dados ou API nativo em JSON e importe em um repositório de documentos baseado em XML ou em um pipeline de ETL.
  • Testar código que consome XML: gere rapidamente payloads XML de exemplo a partir de fixtures de teste em JSON sem escrever XML à mão.

Perguntas frequentes

Funciona com um único objeto JSON, não só com um array?

Sim. Um único objeto vira diretamente os filhos do elemento raiz. Um array de nível superior é envolvido pelo elemento raiz, com um elemento filho por item.

Como objetos e arrays aninhados são tratados?

Objetos aninhados viram elementos XML aninhados. Arrays produzem um elemento irmão por item usando o mesmo nome de tag da chave do array, em vez de um único elemento envolvente com filhos indexados.

Posso controlar quais campos viram atributos XML em vez de elementos?

Sim. Ative "Usar chaves com prefixo @ como atributos XML" e adicione o prefixo @ a qualquer chave do seu JSON (por exemplo, "@id") para que ela seja renderizada como um atributo do seu elemento pai em vez de um elemento filho.

O que acontece com caracteres XML inválidos nas minhas chaves?

As chaves são corrigidas automaticamente: caracteres que não são válidos em nomes de elemento XML são substituídos por sublinhados, e um sublinhado inicial é adicionado caso o nome fosse começar com um dígito.

A declaração XML é obrigatória?

Não, ela é opcional e controlada pela opção "Incluir declaração XML". Muitos sistemas aceitam XML sem ela, mas incluir <?xml version="1.0" encoding="UTF-8"?> é uma prática padrão para documentos XML independentes.

Vocês armazenam meu JSON ou o XML convertido?

Não. Tudo acontece localmente no seu navegador, e nada é enviado ou salvo.

Existe um limite de tamanho?

O conversor roda na memória do seu navegador, então arquivos JSON muito grandes (dezenas de megabytes ou mais) podem ficar lentos ou usar bastante memória, dependendo do seu dispositivo.

Share this tool

Share a direct link or embed this tool on your site. Keep the Tooladex attribution link to support the project.