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
#textvira o texto do elemento; - um array repete o elemento uma vez por item;
nullvira 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
- W3C — Extensible Markup Language (XML) 1.0, Fifth Edition
- RFC 8259 — The JavaScript Object Notation (JSON) Data Interchange Format
- Wikipedia — XML
Revisado em 17 de out. de 2026 · vetores de teste fixtures/dev/json-to-xml/