Ferramenta de dados e texto

JSON para XML

Converta JSON em XML equivalente, com atributos e arrays tratados de forma sensata.

JSON para XML Executa no seu dispositivo
  • Roda no seu navegador — nada do que você digita é enviado
  • Sem cadastro, sem cotas, grátis para usar quantas vezes quiser

Como funciona

JSON e XML conseguem expressar quase as mesmas coisas, mas não do mesmo jeito, então qualquer conversão envolve algumas decisões. Esta ferramenta toma as mais comuns e informa quais foram.

Arrays viram elementos repetidos

O XML não tem um tipo lista. A convenção padrão é repetir o elemento uma vez por item, então um array de três livros vira três elementos <book> lado a lado. É o que quase todo consumidor de XML espera e é o que esta ferramenta produz.

Atributos

O XML distingue atributos de elementos filhos; o JSON não tem equivalente. A convenção mais usada é colocar @ antes de uma chave para indicar que ela deve virar um atributo, e é a que seguimos aqui — ela pode ser desativada se suas chaves realmente começarem com @.

Os nomes são tornados válidos

Nomes de elementos XML não podem conter espaços nem a maioria dos sinais de pontuação e não podem começar com um dígito. As chaves que quebrariam essas regras têm os caracteres inválidos substituídos por sublinhados e, quando necessário, ganham um sublinhado no início. Sem isso, a saída não seria analisável.

Valores nulos

Um null vira um elemento vazio marcado com xsi:nil, que é a forma convencional de dizer deliberadamente vazio, e não ausente. Se o seu consumidor não entende xsi:nil, um elemento vazio normalmente é lido da mesma forma.

A ida e volta não é exata

O JSON distingue o número 42 da string "42", e o XML não — tudo no XML é texto, a menos que um esquema diga o contrário. Converter de volta não restaura os tipos originais de forma confiável.

Perguntas frequentes

JSON para XML — perguntas

Como os arrays são tratados?

Como elementos repetidos, que é a convenção padrão do XML, já que o XML não tem um tipo lista.

Posso gerar atributos?

Sim. Coloque @ antes de uma chave e ela vira um atributo; esse comportamento pode ser desativado.

O que acontece com chaves que têm espaços?

Os caracteres inválidos viram sublinhados, porque nomes XML não podem contê-los. Sem isso, a saída não seria analisável.

Posso converter de volta para JSON?

Sim, com a ferramenta XML para JSON, mas os tipos não são preservados — o XML não tem a noção de número versus string.

Meus dados são enviados?

Não. A conversão é feita no seu navegador.