Ir para o conteúdo

Converter JSON em XML

Transforme JSON em XML válido e indentado: chaves viram elementos, arrays repetem os elementos e chaves com @ viram atributos. A conversão roda no seu navegador.

Converter para
Roda no seu navegador · sem uploadComo funciona

Como usar: JSON para XML

  1. 1

    Cole o JSON

    Um objeto, uma lista de registros ou a resposta de uma API; você também pode soltar um arquivo .json.

  2. 2

    Dê nome aos elementos

    Deixe o elemento raiz vazio para usar o nome a partir dos dados e defina o nome do elemento usado nos itens de listas simples.

  3. 3

    Baixe o XML

    Com recuo de espaços ou tabulações, ou em uma única linha, com ou sem a declaração <?xml?>.

Limites e Pro

Arquivos JSON de até 500 MB; texto colado de qualquer tamanho que o seu navegador suporte.

Arquivos JSON de até 4 GB. Ver o Pro

Sobre: JSON para XML

O conversor de JSON para XML grava dados JSON como um documento XML para sistemas que ainda trocam informações em XML: importações de contabilidade e ERP, esquemas de nota fiscal eletrônica, serviços SOAP, recursos do Android e muitas integrações legadas.

Cada chave vira um elemento e cada array repete o seu elemento, então {"book": [{…}, {…}]} se transforma em dois elementos <book> lado a lado, que é o formato que os esquemas XML costumam esperar. Um array no nível principal, que o XML não admite, é envolvido por um elemento raiz com um elemento de item para cada entrada. Já uma única chave principal que contém um array, como {"orders": […]}, vira a raiz com filhos <order> no singular. Se o objeto tiver exatamente uma chave no nível principal, essa chave será a raiz; caso contrário, a raiz se chamará root, ou o nome que você digitar.

Chaves iniciadas por @ viram atributos e uma chave "#text" vira o texto do elemento, a mesma convenção usada no sentido XML para JSON, de modo que os dados podem seguir nos dois sentidos. Ative “Gravar valores simples como atributos” para registros compactos como <user id="1" name="Ann"/>.

O JSON aceita nomes de chave que o XML não aceita, então os nomes são corrigidos: espaços e outros caracteres inválidos viram sublinhados, e um nome que começa com dígito recebe um sublinhado na frente ("1st place" → _1st_place). O texto é escapado (&, < e > no conteúdo; aspas nos atributos), caracteres proibidos no XML são removidos, null vira um elemento vazio e arrays aninhados recebem filhos item.

A saída está em UTF-8. É um XML bem formado, mas não é verificado contra um esquema XSD; a ordem dos elementos e os campos obrigatórios continuam dependendo dos seus dados.

Privacidade

O JSON que você cola ou solta é lido e transformado em XML por um worker nesta aba do navegador; ele não é enviado a nenhum servidor nem salvo em lugar algum.

JSON para XML: perguntas frequentes

Como gerar atributos em vez de elementos filhos?
Coloque @ antes da chave no seu JSON: o registro {"@id": 5, "name": "Ann"} em um array gera <item id="5"><name>Ann</name></item>. Para transformar de uma vez todos os valores simples (texto, número, verdadeiro/falso) em atributos, ative “Gravar valores simples como atributos”; objetos e arrays continuam como elementos filhos, pois atributos só guardam texto.
Qual será o nome do elemento raiz?
Quando o JSON é um objeto com uma única chave, como {"catalog": {…}}, essa chave vira a raiz. Caso contrário, o conversor envolve tudo em <root>. Digite qualquer nome em “Elemento raiz” para substituir os dois casos; caracteres inválidos são trocados para que o documento continue válido.
Como os arrays são escritos em XML?
Um array sob uma chave repete o elemento dessa chave: "tag": ["a", "b"] vira <tag>a</tag><tag>b</tag>. Arrays sem chave própria, como um array no nível principal ou dentro de outro array, recebem elementos item, nome que você pode alterar. Um array vazio vira um único elemento vazio, para que a chave não se perca.
Os caracteres especiais são escapados?
Sim. E comercial e colchetes angulares no texto viram &amp;, &lt; e &gt;; aspas, tabulações e quebras de linha dentro de valores de atributos são gravadas como referências de caractere. Caracteres de controle proibidos pelo XML 1.0 são descartados. Letras de qualquer alfabeto, inclusive emojis, são gravadas como estão, já que o documento é UTF-8.
Dá para validar o resultado com o meu XSD?
Aqui não: o conversor produz XML bem formado, mas não conhece o seu esquema. Monte o JSON do jeito que o esquema espera (nomes das chaves, ordem, @ para atributos), converta e valide o arquivo no seu editor de XML ou no sistema que vai recebê-lo. A ordem das chaves na saída segue a ordem do seu JSON.

Outras tarefas com esta ferramenta