JSON para XML

Transforme JSON em XML para serviços SOAP, integrações legadas e feeds, com um mapeamento previsível.

Nível 0 · navegador · ilimitado
115 caracteres
Saída
<?xml version="1.0" encoding="UTF-8"?>
<pedido id="7">
  <item sku="A1">Caneca</item>
  <item sku="B2">Pôster</item>
  <total>20.5</total>
  <obs/>
</pedido>

Como o JSON vira XML

Muitos sistemas antigos, gateways de pagamento e serviços do governo ainda falam XML. Este conversor escreve o JSON como XML com um mapeamento simples e reversível:

  • cada chave vira um elemento;
  • chaves que começam com @ viram atributos do pai;
  • uma chave #text vira o texto do elemento;
  • um array repete o elemento uma vez por item;
  • null vira um elemento vazio.

Caracteres com significado no XML (&, <, >, ") são escapados, e chaves que não são nomes válidos de elemento (começando com dígito ou com espaços) são ajustadas com sublinhados, para o resultado ser sempre bem formado.

Exemplo resolvido

{"pedido": {"@id": 7, "item": [{"@sku": "A1", "#text": "Caneca"}, {"@sku": "B2", "#text": "Pôster"}], "total": 20.5}}

vira

<?xml version="1.0" encoding="UTF-8"?>
<pedido id="7">
  <item sku="A1">Caneca</item>
  <item sku="B2">Pôster</item>
  <total>20.5</total>
</pedido>

Como funciona

A página lê o JSON de forma estrita e percorre o valor. Se a raiz for um objeto com uma única chave, ela vira o elemento raiz; caso contrário, tudo vai dentro do elemento raiz com o nome escolhido nas opções. Objetos viram elementos, chaves @ viram atributos, #text vira o texto, arrays repetem o elemento e valores simples viram texto. Os valores são escapados para XML e nomes de elemento inválidos são corrigidos com sublinhados. Use XML para JSON no caminho inverso. Tudo roda nesta aba.

Perguntas frequentes

Como criar atributos?

Comece a chave com @, como em {"@id": 7}.

Por que minha chave foi renomeada?

Nomes de elementos XML não podem começar com dígito nem ter espaços, então 2o item vira _2o_item.

Qual elemento raiz é usado?

A única chave do topo, se houver uma; senão o nome do campo Elemento raiz.

Meus dados são enviados?

Não. Tudo roda no navegador.

Fontes

Revisado em 17 de out. de 2026 · vetores de teste fixtures/dev/json-to-xml/