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
Índice
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
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.
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.
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.
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.
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.
Não. Tudo acontece localmente no seu navegador, e nada é enviado ou salvo.
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.