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
Gerador de cards CSS
Crie um card com seu título, texto e link opcional. Ajuste cores, borda, espaçamento, sombra e efeito ao passar o mouse. Depois copie ou baixe o HTML e o CSS.
Gerador de textura de ruído
Gere uma textura de ruído em SVG que se repete sem emendas, com opacidade, frequência do grão, tipo de ruído e cor de fundo ajustáveis, e copie o CSS já pronto.
Gerador de Configuração Webpack
Crie um webpack.config.js para webpack 5 a partir de um formulário curto: defina o entry, a pasta de saída e o modo, e ative TypeScript, Babel, um loader CSS, HtmlWebpackPlugin e um servidor de desenvolvimento.
Gerador de Docker Compose
Gere um docker-compose.yml a partir de definições de serviços com imagem, portas e volumes, com padrões de boas práticas.
Conversor de base numérica
Converta números entre binário, octal, decimal, hexadecimal e qualquer base personalizada de 2 a 36, com o detalhamento posicional.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Ferramenta disponível em outros idiomas
- JSONからXMLへ [JA]
- JSON till XML [SV]
- แปลง JSON เป็น XML [TH]
- JSON إلى XML [AR]
- JSON에서 XML로 [KO]
- JSON do XML [PL]
- JSON naar XML [NL]
- Chuyển đổi từ JSON sang XML [VI]
- JSON zu XML [DE]
- JSON ke XML [ID]
- JSON a XML [ES]
- JSON vers XML [FR]
- JSON in XML [IT]
- Преобразование JSON в XML [RU]
- JSON'ten XML'e [TR]
- JSON 到 XML [ZH]
- JSON to XML [EN]