O que faz
Esta ferramenta converte dados JSON em XML. Objetos viram elementos, arrays viram elementos repetidos, strings, números e booleanos viram texto, e null vira um elemento vazio. Chaves que começam com @ se transformam em atributos e uma chave #text define o texto de um elemento, espelhando o formato gerado pelo conversor de XML para JSON, para que os dados possam fazer a ida e volta.
Como usar
- Cole o JSON no campo Entrada, envie um arquivo
.jsonou clique em Exemplo. - O XML aparece à direita enquanto você digita. JSON inválido é indicado com a posição do erro.
- Escolha um estilo de Indentação, defina o Nome do elemento raiz, altere o Prefixo das chaves de atributo e escolha se quer adicionar a declaração
<?xml ?>. - Copie o XML ou baixe-o como arquivo
.xml.
Exemplo
{ "book": { "@id": "bk101", "title": "XML Guide", "tags": ["xml", "json"], "price": 44.95 } }
vira
<?xml version="1.0" encoding="UTF-8"?>
<book id="bk101">
<title>XML Guide</title>
<tags>xml</tags>
<tags>json</tags>
<price>44.95</price>
</book>
Observações
Caracteres especiais são escapados (&, <, > no texto e também " nos atributos), então a saída pode ser carregada por qualquer parser XML. O JSON não tem como expressar namespaces, comentários ou CDATA, então nada disso é gerado.
Perguntas frequentes
› Como crio atributos XML a partir de JSON?
Comece a chave com "@". {"book": {"@id": "bk101", "title": "Guide"}} vira <book id="bk101"><title>Guide</title></book>. Você pode trocar o prefixo ou deixá-lo vazio para transformar todas as chaves em elementos.
› Como os arrays JSON são convertidos?
Um array repete o elemento pai uma vez por item, então {"tag": ["a", "b"]} vira <tag>a</tag><tag>b</tag>. Um array no nível superior, ou um array diretamente dentro de outro array, usa elementos <item>.
› O que acontece com chaves que não são nomes XML válidos?
Espaços e símbolos são trocados por sublinhados, e nomes que começam com dígito ou com "xml" ganham um sublinhado na frente, então a saída é sempre bem formada.
› De onde vem o elemento raiz?
Se o objeto JSON tem exatamente uma chave, essa chave vira a raiz. Caso contrário, tudo é envolvido no nome de elemento raiz definido nas opções, "root" por padrão.