Conversor de JSON para XML

Converta dados JSON para XML. @attributes é restaurado como atributos do elemento, #text como conteúdo de texto, e arrays como elementos irmãos repetidos — o processo inverso do nosso conversor de XML para JSON, tudo direto no navegador.

Dicas de uso

  • Coloque um objeto sob a chave `@attributes` e cada uma das suas propriedades se tornará um atributo do elemento convertido.
  • Use uma chave `#text` para o conteúdo de texto de um elemento que também tenha atributos ou elementos filhos. Um elemento simples sem atributos pode usar diretamente uma string como valor.
  • Atribua um array à mesma chave e cada item será gerado como um elemento irmão repetido com esse nome.
  • Um valor `null` produz uma tag vazia e autofechada (``) sem atributos, texto ou filhos.
  • Esta ferramenta espera uma entrada no formato produzido pelo nosso "Conversor de XML para JSON" (um objeto cuja chave é o nome do elemento raiz, com exatamente uma chave de nível superior).

Perguntas frequentes

Uma chave chamada `@attributes` contendo um objeto transforma cada uma de suas propriedades em um atributo do elemento XML resultante. Por exemplo, `{"@attributes": {"category": "fiction"}}` converte-se em um atributo `category="fiction"`.

Atribuir um array à mesma chave gera cada item do array como um elemento irmão repetido com esse nome. Por exemplo, `"book": [{"title": "A"}, {"title": "B"}]` converte-se em um XML com duas tags ``.

A causa mais comum é um erro de sintaxe no JSON (uma vírgula faltando ou uma chave sem aspas). O XML também exige exatamente um elemento raiz, então um JSON com várias chaves de nível superior, ou com um array na raiz, também falhará.

Sim, nosso "Conversor de XML para JSON" cuida da direção inversa. Como ambas as ferramentas usam a mesma convenção de conversão, o conteúdo se mantém em ambos os sentidos.

Esta ferramenta assume a convenção usada pelo "Conversor de XML para JSON" (`@attributes`, `#text`, arrays e null). Um JSON de estrutura livre que não siga essa convenção — como uma resposta típica de API cheia de números e booleanos — pode não se converter na estrutura XML esperada.
ツールくん

Curiosidade — O que observar ao "devolver" JSON para XML

Converter XML para JSON é um pouco como comprimir informação. O XML pode carregar três tipos de informação — atributos, texto e elementos filhos — enquanto o JSON só tem pares chave-valor simples, então alguma convenção precisa ser adotada na conversão (esta ferramenta segue as mesmas quatro regras: `@attributes`, `#text`, arrays e null). Enquanto essa convenção for seguida, converter JSON de volta para XML é um processo mecânico e bem definido — mas forçar um JSON de estrutura livre que não a segue pode deixar incerto o que deveria ser um atributo e o que deveria ser um elemento, e o resultado pode não corresponder ao esperado.

Na prática, isso surge quando a resposta de uma API XML legada é convertida para JSON para facilitar o processamento em JavaScript, e depois convertida de volta para XML para enviar a outro sistema — por exemplo, remodelando a resposta de uma API SOAP como JSON antes de enviá-la de volta como uma requisição no estilo SOAP. Nesse tipo de ida e volta, manter a convenção de conversão consistente é o mais importante; misturar uma ferramenta que use uma convenção diferente no meio do caminho pode embaralhar a relação entre atributos e texto.

Esta ferramenta exige estritamente exatamente uma chave de nível superior porque isso reflete uma regra do próprio XML — um documento deve ter exatamente um elemento raiz. Se precisar converter um JSON com várias chaves de nível superior, envolva-o antes em uma chave pai comum (por exemplo, `root`), e ele será convertido corretamente em um XML com um único elemento raiz.