JSON para XML
Conversor online gratuito de JSON para XML. Converte objetos JSON em <root> e arrays em nós <item> repetidos. Saída com prettyPrint, 100% no navegador sem uploads.
Sugestões Relacionadas
Sobre JSON para XML: converta dados JSON em formato XML padrão
JSON para XML é o processo de converter dados em formato JSON (objetos ou arrays JSON) em formato XML (eXtensible Markup Language). JSON (JavaScript Object Notation) é o formato de dados padrão para APIs web modernas; XML é o formato de dados tradicional para sistemas empresariais, SOAP Web Services, arquivos de configuração e documentos Office. Cada formato tem seus pontos fortes: JSON é conciso e fácil de analisar; XML é estrito, autodescritivo e amplamente compatível com namespaces e validação de esquemas.
O núcleo da ferramenta é a conversão recursiva de nós JSON em elementos XML baseada na biblioteca xmlbuilder2. As regras de conversão são simples: chaves de objetos JSON se tornam nomes de elementos XML, valores se tornam conteúdo de texto do elemento; arrays são empacotados como elementos filhos <item> repetidos. Objetos JSON são empacotados em um nó <root> por padrão, e arrays em <root><item>...</item></root>.
O mapeamento de arrays para elementos repetidos é uma decisão de design chave em JSON para XML. XML não tem um conceito nativo de array e representa dados de lista através de elementos repetidos. A ferramenta usa uniformemente <item> como nome do elemento filho do array, com o invólucro externo <root> formando uma estrutura padrão que corresponde às convenções de troca de dados XML.
O modo prettyPrint gera XML muito mais legível que o modo minify. Os desenvolvedores podem abri-lo diretamente em editores de texto, editores XML ou navegadores, sem ter que executá-lo primeiro através de xmllint ou outras ferramentas de formatação. Este design é particularmente útil ao depurar e ajustar XML manualmente.
As regras para mapear tipos JSON básicos em XML são simples: strings são usadas diretamente como texto do elemento; números são convertidos em forma de string; booleanos são convertidos nas strings 'true'/'false'; null se torna um elemento vazio ou é omitido.
Objetos aninhados geram recursivamente a árvore XML correspondente. Por exemplo, { "user": { "name": "Alice", "age": 30 } } se torna <root><user><name>Alice</name><age>30</age></user></root>. Esta estrutura preserva a hierarquia do JSON original, facilitando a consulta por parsers XML via XPath.
A ferramenta usa mapeamento de elementos puros: todos os dados JSON são convertidos em elementos XML, sem atributos XML. Isso se deve ao fato de que o mapeamento de elementos é mais intuitivo, mais legível e suporta estruturas aninhadas mais complexas.
A conversão em tempo real é uma função prática da ferramenta. A ferramenta converte 400ms após você parar de digitar, com 5 atalhos de teclado, para que os usuários possam concluir rapidamente operações comuns sem cliques do mouse.
O auto-reparo de erros JSON melhora a resiliência da ferramenta. O JSON do mundo real frequentemente tem pequenos problemas como vírgulas finais, aspas simples, aspas ausentes ou comentários. A função interna tryFixJSON é invocada automaticamente quando JSON.parse falha e tenta corrigir erros comuns.
O processamento puramente do lado do cliente é a decisão arquitetural central. Toda a análise JSON e a geração XML são executadas em JavaScript do navegador; nada é enviado a um servidor.
Casos de uso
- Converta respostas JSON de API REST em XML para sistemas empresariais tradicionais (SAP, Oracle EBS) que só aceitam XML.
- Gere feeds RSS, feeds Atom ou sitemap.xml a partir de configuração JSON para publicação de conteúdo e indexação SEO.
- Prepare corpos de mensagens para SOAP Web Services (payload XML dentro do envelope SOAP) para integração de barramento de serviços empresariais.
- Converta fixtures de teste JSON em formato XML para testar código de análise XML herdado ou vinculação de dados JAXB.
- Converta JSON exportado de bancos de dados em XML para indexação e consulta em bancos de dados XML (BaseX, eXist).
- Converta JSON exportado do Excel em XML para uso em documentos Office Open XML ou arquivos de tradução XLIFF.
- Converta dados mock de API (JSON) em formato XML para testar clientes WSDL ou serialização XML de gRPC.
- Ensine a relação de conversão entre os formatos de dados JSON e XML, ajudando a entender a lógica de mapeamento entre os formatos de serialização.
Como Usar
- Cole JSON no editor esquerdo, clique em Upload para selecionar um arquivo .json/.txt, ou clique em Amostra para carregar o exemplo integrado.
- A ferramenta converte automaticamente com um debounce de 400ms. Visualize o código XML gerado à direita com realce XML do CodeMirror.
- Clique no botão Formatar (⇧⌘+F) para re-indentar o JSON para 2 espaços para facilitar a leitura de estruturas complexas.
- Clique em Copiar para copiar o XML para a área de transferência, ou clique em Baixar para salvá-lo como um arquivo output.xml (MIME: text/xml).
- Para alterar o nome do nó raiz ou adicionar namespaces, edite manualmente o XML gerado.
- Cole o XML no sistema de destino (cliente API, editor XML, sistema empresarial) para uso.
Recursos
- Mapeamento inteligente de nós: objetos JSON são automaticamente empacotados em um nó <root>, arrays em nós <item> repetidos, correspondendo às convenções de troca de dados XML.
- Saída com prettyPrint: alimentada pelo modo prettyPrint do xmlbuilder2, o XML gerado inclui indentação e quebras de linha para excelente legibilidade.
- Conversão automática em tempo real: a ferramenta converte 400ms após você parar de digitar, com 5 atalhos de teclado para acelerar operações comuns.
- Auto-reparo de erros JSON: a rotina interna tryFixJSON lida com vírgulas finais, aspas simples e aspas de chave ausentes automaticamente.
- Compatibilidade de tipos básicos: null, boolean, number, string e outros tipos JSON básicos são convertidos em conteúdo de texto de elemento XML.
- Objetos aninhados recursivos: objetos aninhados de qualquer profundidade são convertidos recursivamente na árvore de elementos XML correspondente.
- Suporte a arrays multinível: arrays uni e multidimensionais são convertidos corretamente em estruturas de nós <item> repetidos.
- Realce duplo JSON/XML: o lado esquerdo usa o realce de sintaxe JSON do CodeMirror, o lado direito usa o realce XML para maior clareza.
- Sistema completo de atalhos: 5 atalhos comuns (converter/formatar/upload/download/limpar) para macOS e Windows/Linux.
- Copiar e baixar: copie o resultado para a área de transferência com um clique ou baixe como um arquivo output.xml padrão (MIME: text/xml).
- 100% no navegador: toda a análise e geração acontece em JavaScript do lado do cliente; o JSON original nunca sai do seu dispositivo.
- Recuperação do histórico: a ferramenta salva automaticamente os últimos 200 itens do histórico e restaura a entrada anterior ao carregar a página.
Perguntas frequentes
Como converto JSON em formato XML?
Cole seu JSON no editor esquerdo e a ferramenta o converte automaticamente em formato XML padrão. Objetos JSON são empacotados em um nó <root> (por exemplo, { "name": "Alice" } se torna <root><name>Alice</name></root>), e arrays em nós <item> repetidos. A conversão é executada 400ms após você parar de digitar.
Como os arrays JSON são convertidos em XML?
Arrays JSON são automaticamente empacotados em uma estrutura de dois níveis: o nó <root> externo e os nós <item> repetidos internos. Por exemplo, [{"a":1},{"a":2}] se torna <root><item><a>1</a></item><item><a>2</a></item></root>. Este design corresponde às convenções comuns de troca de dados XML (RSS, mensagens SOAP).
O XML gerado está formatado?
Sim. A ferramenta usa o modo prettyPrint do xmlbuilder2 para gerar XML com indentação e quebras de linha. Os desenvolvedores podem colar o resultado diretamente em ferramentas SOAP, editores XML ou arquivos de configuração sem formatação manual.
Quais estruturas de dados JSON são suportadas?
Todas as estruturas JSON válidas são suportadas: primitivos (null, boolean, number, string), arrays de qualquer profundidade e objetos aninhados de qualquer profundidade. Arrays em cada nível são empacotados em nós <item> repetidos.
O XML baixado pode ser usado diretamente com SOAP ou RSS?
Sim. O XML gerado está em conformidade com a especificação XML 1.0 e pode ser analisado pela maioria das ferramentas SOAP, leitores RSS, bancos de dados XML (BaseX, eXist) e sistemas empresariais (SAP, Oracle).
E se meu JSON falhar ao analisar?
Quando o JSON contém vírgulas finais, aspas ausentes ou aspas simples em vez de duplas, a ferramenta chama automaticamente tryFixJSON para tentar uma reparação. Se a reparação for bem-sucedida, você será notificado; caso contrário, o painel direito mostra a localização exata do erro.
Posso personalizar o nome do nó raiz XML?
Esta ferramenta usa uniformemente root como nome do nó raiz e item para elementos de array. Estas são as convenções mais universais de troca de dados XML. Se você precisa personalizá-los, edite manualmente o XML gerado ou envolva seu JSON com uma chave personalizada.
Como os números e booleanos JSON são representados em XML?
XML não tem tipos nativos de número ou booleano; todos os valores são convertidos em strings. Por exemplo, true em JSON se torna <isActive>true</isActive>, e 30 se torna <age>30</age>. No momento da análise, o parser XML converte as strings de volta de acordo com o esquema ou dicas de tipo.
Namespaces XML são suportados?
A ferramenta gera XML padrão sem namespaces, adequado para a maioria dos casos de uso gerais. Se você precisa de XML SOAP ou WSDL com namespaces, pode editar manualmente o XML gerado para adicionar declarações xmlns.
Atributos XML são suportados?
Não. A ferramenta usa mapeamento de elementos puros: todas as chaves JSON se tornam elementos XML e todos os valores se tornam conteúdo de texto do elemento. Se você precisa da forma de atributo, ajuste manualmente o XML gerado ou use transformação XSLT.
Quais tipos de arquivo de entrada são suportados?
A ferramenta suporta arquivos .json e .txt (codificação UTF-8). Clique no botão Upload para selecionar um arquivo local; a ferramenta o lê através da API FileReader nativa do navegador sem carregá-lo para um servidor.
Quais atalhos de teclado estão disponíveis?
A ferramenta suporta estes atalhos: no macOS, ⇧⌘+Enter para converter, ⇧⌘+F para formatar, ⇧⌘+O para upload, ⇧⌘+D para download, ⇧⌘+K para limpar; no Windows/Linux, use Ctrl em vez de ⌘.
Solução de Problemas
O nó raiz se chama root, posso mudá-lo?
A ferramenta usa root uniformemente. Para personalizar: 1) edite manualmente o XML com localizar-substituir; 2) envolva seu JSON com uma chave (por ex. {"response": {...}}) que gera <root><response>...</response></root>.
Erro XML 'unclosed token', o que fazer?
Geralmente é porque o JSON contém caracteres especiais XML (<, >, &) sem escape. A ferramenta os converte automaticamente em entidades XML (< > &), mas casos extremos (CDATA, comentários) podem exigir tratamento manual.
Como personalizo o nome do elemento de array (não item)?
Edite manualmente o XML e use localizar-substituir para alterar <item> para o nome desejado, ajustando também a tag de fechamento </item>.
Os números JSON se tornaram strings, o que fazer?
XML não tem tipo numérico nativo. Opções: 1) use um esquema XSD com xs:integer/xs:boolean; 2) pré-nomeie as chaves JSON para sugerir tipos; 3) use XSLT para converter tipos após a geração.
Como mantenho os números como tipo numérico em XML?
XML 1.0 não tem tipo numérico nativo. Se você precisa preservá-lo: 1) use um esquema XSD com xs:integer; 2) use JSON Schema + ferramenta de conversão; 3) adicione o namespace XSI.
Com o que abro o arquivo .xml baixado?
O arquivo output.xml é um arquivo XML padrão codificado em UTF-8. Você pode abri-lo com qualquer editor de texto (VS Code, Sublime, Notepad++) ou editor XML profissional (XMLSpy, oXygen), ou arrastá-lo para um navegador.
Os emoji ou caracteres não ASCII causam erros?
Não. A ferramenta suporta codificação UTF-8 completa, incluindo chinês, japonês, coreano e caracteres Unicode emoji. A biblioteca xmlbuilder2 lida automaticamente com o escape de entidades XML.
Glossário
- JSON (JavaScript Object Notation)
- Formato leve de troca de dados baseado na sintaxe de objetos JavaScript, mas independente de qualquer linguagem de programação.
- XML (eXtensible Markup Language)
- Linguagem de marcação extensível definida pelo W3C em 1998. Usa tags para descrever dados e suporta namespaces, validação de esquemas e transformações XSLT.
- xmlbuilder2
- Biblioteca JavaScript de construção XML para gerar documentos XML estruturados.
- Empacotamento de nó (root / item)
- Convenção de nomenclatura da ferramenta: objetos JSON são empacotados em <root>, elementos de array JSON em <item> repetidos.
- prettyPrint
- Modo de saída do xmlbuilder2 que adiciona automaticamente indentação e quebras de linha para melhorar a legibilidade.
- SOAP (Simple Object Access Protocol)
- Protocolo de comunicação de serviços web baseado em XML com envelope, cabeçalho e corpo.
- Feed RSS / Atom
- Formatos de distribuição de conteúdo baseados em XML.
- Elemento vs atributo
- Duas formas de representar dados em XML: elementos (tags) ou atributos (key='value').
- Seção CDATA
- Sintaxe XML especial <![CDATA[...]]> para incorporar texto com caracteres especiais.
- Namespace XML
- Mecanismo para evitar conflitos de nomes de elementos através do atributo xmlns.
- XPath
- Linguagem de consulta de caminhos XML para localizar nós em um documento XML.
- XSLT
- Linguagem de transformação de folhas de estilo XML para converter XML entre formatos.
- tryFixJSON
- Rotina interna de reparo JSON que lida com erros de sintaxe JSON comuns.
Regras de mapeamento de tipos JSON para elementos XML
Regras de mapeamento baseadas no xmlbuilder2:
| Valor JSON | Exemplo | Elemento XML | Regra |
|---|---|---|---|
string | "Alice" | <name>Alice</name> | String como texto do elemento |
number | 30 | <age>30</age> | Número convertido em string |
boolean | true | <isActive>true</isActive> | Booleano convertido em 'true'/'false' |
object | {"a":1} | <root><a>1</a></root> | Objeto empacotado em <root> |
array | [{"a":1}] | <root><item><a>1</a></item></root> | Array empacotado em <item> |
Privacy & Security
Esta ferramenta de JSON para XML é executada inteiramente no seu navegador. A análise JSON, a geração XML e a formatação com prettyPrint são executadas em JavaScript do lado do cliente (com a biblioteca xmlbuilder2); nada é enviado a um servidor. Os uploads de arquivos usam a API FileReader nativa e nunca passam por um serviço intermediário. A ferramenta não usa cookies de rastreamento e não coleta dados de entrada ou uso. Todas as entradas e saídas são apagadas da memória assim que a página é fechada ou recarregada. Segura de usar com JSON que contenha dados comerciais confidenciais ou respostas de API internas.
Authoritative References
- Comprimir JSON
- CSV para JSON
- JSON para CSV
- JSON Diff
- JSON Escape / Unescape
- Achatamento de JSON
- Formatador JSON
- Gerador de JSON
- Consulta JSONPath
- Mesclar JSON
- Reparar JSON
- Validador JSON Schema
- Ordenar JSON
- JSON Stringify
- JSON para HTML
- JSON para Java
- JSON to Markdown
- JSON para SQL
- JSON para TOML
- JSON para TypeScript
- XML para JSON
- JSON para XML
- YAML para JSON
- JSON para YAML
- JSON para Python
- JSON para Go
- JSON para Rust
- JSON para Swift
- JSON para C#
- JSON para C++
- JSON para PHP