O que é Conversor de JSON para XML?

O JSON to XML Converter converte objetos e arrays JSON em XML bem formado. Estruturas aninhadas, arrays e caracteres especiais são escapados corretamente. Funciona bem com APIs SOAP e sistemas legados que esperam entrada XML.

O conversor faz escape dos caracteres especiais (& < > " '), normaliza nomes de tag que têm espaços ou símbolos e oferece dois estilos para arrays: elementos repetidos (<book>...</book><book>...</book>) ou wrapper (<books><item>...</item></books>). Você define o nome do elemento raiz, liga a declaração XML e escolhe se o XML sai indentado.

Como usar

  1. Passo 1 — Cole seus dados JSON ou faça o upload de um arquivo .json. A ferramenta valida o JSON antes da conversão.
  2. Passo 2 — Configure o nome do elemento raiz e escolha como os arrays devem ser representados (elementos repetidos ou agrupados em um elemento pai).
  3. Passo 3 — Visualize o XML gerado com destaque de sintaxe, depois copie para a área de transferência ou baixe como arquivo .xml.

Quando usar

  • Conversar com um serviço SOAP ou API corporativa antiga que só aceita payload em XML.
  • Gerar sitemap XML ou feed RSS a partir de uma lista JSON de páginas ou posts.
  • Criar fixtures de teste para uma transformação XSLT ou um pipeline validado por XSD.

Resultado

Você precisa converter um catálogo de produtos JSON para uma API SOAP. Defina o elemento raiz como catalog e obtenha uma saída XML corretamente aninhada com elementos products, item, id e name.

Perguntas frequentes

Como os arrays aparecem na saída XML?
Duas opções. 'Elementos repetidos' escreve uma tag irmã para cada item (<user>...</user><user>...</user>), formato esperado pela maioria dos XSD. 'Envolvido em pai' adiciona um contêiner com filhos <item> (<users><item>...</item></users>), útil em schemas mais estritos que exigem wrapper nomeado.
O que acontece com chaves JSON que têm espaços ou pontos?
Nomes de tag XML não aceitam espaços nem a maioria das pontuações, então o conversor troca os caracteres inválidos por underscore. Uma chave 'first name' vira <first_name>. Chaves que começam com dígito recebem um underscore na frente para o XML continuar bem formado. Dois prefixos de chave são especiais: uma chave iniciada por @ vira um atributo no elemento pai (então "@id": 1 produz id="1"), e uma chave #text passa a ser o conteúdo de texto do elemento.
A saída vai validar contra meu XSD ou DTD?
Sai XML bem formado, mas a validação contra schema depende de nomes de elementos, atributos e ordem — coisas que JSON não carrega. Se você precisa de atributos ou ordem estrita, renomeie as chaves no JSON antes ou trate o XML com XSLT depois.
Por que a declaração <?xml version="1.0" encoding="UTF-8"?> aparece ou some?
É controlada pelo toggle 'Incluir declaração XML'. SOAP, sitemaps e arquivos XML autônomos costumam querer a linha. Fragmentos embutidos dentro de outro documento não querem; desligue para omitir.
Como são tratados os valores null?
null e undefined viram tags autofechadas, por exemplo <middleName/>. Mantém a presença do campo sem inventar string vazia. Se precisar de xsi:nil="true", troque a tag manualmente depois — JSON não tem essa noção nativa.

Ferramentas relacionadas