JSON para XML
Cole um documento JSON e receba de volta o equivalente em XML com o nome do elemento raiz que você escolher, uma estratégia consistente para arrays (elementos repetidos ou um wrapper), declaração XML opcional e indentação organizada. Útil quando um sistema legado exige XML e seus dados de origem estão em JSON.
Como converter JSON para XML
-
1
Cole JSON
Objeto ou array no nível superior. Você dará um nome ao elemento raiz.
-
2
Nomeie a raiz
XML requer um único elemento raiz. O padrão é `<root>`; dê um nome significativo como `<users>` ou `<response>`.
-
3
Escolha a estratégia de array
"Elementos repetidos" (cada item do array se torna um irmão `<item>`) ou "wrapper" (o array vai dentro de um elemento wrapper nomeado).
-
4
Copie o XML
Declaração XML opcional, indentação adequada e valores escapados para `<`, `>`, `&` e aspas.
Exemplo: elementos repetidos
Entrada:
{ "users": [ { "name": "Alice" }, { "name": "Bob" } ] }
Saída:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<users>
<name>Alice</name>
</users>
<users>
<name>Bob</name>
</users>
</root>
Exemplo: wrapper de array
Mesma entrada com a estratégia “envolver arrays em <item>”:
<root>
<users>
<item>
<name>Alice</name>
</item>
<item>
<name>Bob</name>
</item>
</users>
</root>
Mapeamento de tipos
| JSON | XML |
|---|---|
| string | conteúdo de texto, escapado |
| integer / decimal | conteúdo de texto (sem anotação de tipo XML) |
| boolean | true / false como texto |
| null | elemento vazio (<foo/>) ou omitido |
| array | elementos repetidos ou wrapper + itens |
| object | elemento aninhado com elementos filhos |
Atributos vs elementos
XML distingue atributos (<user id="1">) de elementos filhos (<user><id>1</id></user>). O conversor usa elementos por padrão, eles são sem perda para round-tripping. Se seu XML downstream requer atributos, use uma convenção de prefixo de chave:
- A chave JSON
@idse torna um atributo XMLid="..."no elemento pai. - A chave JSON
#textse torna o conteúdo de texto do elemento pai.
Essas convenções vêm dos mapeamentos BadgerFish e Parker, os dois padrões mais comuns de JSON para XML.
Regras de escape
<-><>->>&->&"->"(em valores de atributos)'->'(opcional)- Bytes em UTF-8 são preservados, declarados no prólogo XML.
Erros comuns
- Array JSON no nível raiz. XML precisa de um único elemento raiz. O conversor envolve um array em
<root>(ou qualquer nome que você escolher). - Chaves numéricas. JSON
{"1": "a"}é legal; nomes de elementos XML não podem começar com um dígito. O conversor prefixa dígitos com um sublinhado (_1) ou permite que você defina um mapeamento personalizado. - Arrays mistos.
[1, "dois", { "x": true }]não tem um mapeamento limpo. Geralmente isso significa que o JSON precisa de normalização antes da conversão. - Documentos enormes. XML é verboso, um JSON de 10 MB pode se tornar um XML de 20-30 MB. Considere a conversão em streaming para cargas muito grandes.
Perguntas frequentes
Por especificação, o XML exige uma única raiz. Se o seu JSON for um array ou tiver várias chaves de nível superior, o conversor envolve tudo em um elemento raiz que você pode nomear (padrão <root>).
Sim. Use a convenção de prefixo @ em suas chaves JSON (por exemplo, "@id": 1) e essas chaves se tornam atributos. Outras chaves permanecem como elementos filhos. Isso corresponde ao mapeamento BadgerFish.
Duas estratégias: elementos irmãos repetidos (cada item recebe a chave pai como sua tag), ou um wrapper com elementos <item> dentro. Escolha o que melhor se adapta ao esquema XML que você está visando.
Não. O conversor emite a declaração XML (<?xml version="1.0"?>) mas não um DOCTYPE. Para XML que precisa de uma referência DTD ou XSD, adicione manualmente após a conversão.
Ferramentas relacionadas
Referência da Tabela ASCII
Tabela ASCII completa de 0 a 127 com valores decimais, hexadecimais, octais e binários e notação de referência numérica HTML, incluindo NUL, LF e DEL.
Referência de Caracteres HTML
Lista pesquisável de entidades HTML, seus códigos nomeados e numéricos, e uma cópia com um clique para caracteres e símbolos especiais.
Referência de atalhos de teclado
Pesquise atalhos padrão documentados do VS Code, Chrome e Bash com GNU Readline no macOS, Windows e Linux.
Gerador de EditorConfig
Gere um arquivo .editorconfig com suas regras de estilo e tamanho de indentação, fim de linha, charset e espaços em branco para formatação consistente entre IDEs e editores.
Validador de Email
Valide um endereço de email: verificação de sintaxe RFC 5322, consulta de registro MX em tempo real, além de detalhes de parte local, domínio e comprimento. Nenhum email é enviado.
Formatador de HTML
Formate HTML localmente no navegador com indentação de dois ou quatro espaços. O HTML não é enviado nem validado.
Ferramenta disponível em outros idiomas
- JSON vers XML [FR]
- JSON till XML [SV]
- แปลง JSON เป็น XML [TH]
- JSON إلى XML [AR]
- JSON ke XML [ID]
- Chuyển đổi từ JSON sang XML [VI]
- JSON에서 XML로 [KO]
- JSON zu XML [DE]
- JSON a XML [ES]
- JSON naar XML [NL]
- JSON do XML [PL]
- JSONからXMLへ [JA]
- Преобразование JSON в XML [RU]
- JSON'ten XML'e [TR]
- JSON 到 XML [ZH]
- JSON to XML [EN]
- JSON in XML [IT]