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

  1. Cole JSON no editor esquerdo, clique em Upload para selecionar um arquivo .json/.txt, ou clique em Amostra para carregar o exemplo integrado.
  2. A ferramenta converte automaticamente com um debounce de 400ms. Visualize o código XML gerado à direita com realce XML do CodeMirror.
  3. Clique no botão Formatar (⇧⌘+F) para re-indentar o JSON para 2 espaços para facilitar a leitura de estruturas complexas.
  4. 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).
  5. Para alterar o nome do nó raiz ou adicionar namespaces, edite manualmente o XML gerado.
  6. 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 (&lt; &gt; &amp;), 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 JSONExemploElemento XMLRegra
string"Alice"<name>Alice</name>String como texto do elemento
number30<age>30</age>Número convertido em string
booleantrue<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