Converter JSON para XML Online
Converta JSON para XML válido no seu navegador. Ideal para integrar APIs REST com serviços SOAP, recursos Android e configurações baseadas em XML.
<?xml version="1.0" encoding="UTF-8"?>
<root>
<users>
<user id="1">
<name>John</name>
<age>30</age>
</user>
<user id="2">
<name>Maria</name>
<age>25</age>
</user>
</users>
</root>Principais casos de uso
JSON para XML: integre APIs modernas com sistemas legados
REST para SOAP
Integre respostas de APIs REST modernas com web services SOAP corporativos que exigem XML.
Recursos Android
Gere strings.xml, arrays.xml e configurações de layout XML a partir de dados JSON da sua API.
100% privado
Seu JSON é convertido no seu navegador. Os dados da sua API nunca saem do seu dispositivo.
XML bem formado
Gere XML válido conforme o W3C XML 1.0 com declaração de codificação, escape correto e estrutura aninhada.
Como funciona
Três passos, sem complicação
Cole seu JSON
Cole o JSON da sua API REST, resposta de serviço web ou qualquer objeto JSON que precise representar em XML.
Conversão instantânea
O conversor gera XML bem formado (well-formed) conforme o padrão W3C XML 1.0, com indentação legível.
Copie o XML resultante
Copie o XML para usar na sua integração SOAP, arquivo de recurso Android, arquivo de configuração ou qualquer sistema baseado em XML.
Perguntas frequentes
Ficou com dúvidas?
Arrays JSON não têm equivalente direto em XML, porque o XML não tem o conceito de array como tipo nativo — apenas elementos e atributos. A convenção mais usada é repetir o elemento pai para cada item do array. Por exemplo, os valores a, b e c na chave item geram três elementos item separados. Para arrays de objetos, cada objeto vira um elemento filho com suas propriedades como elementos aninhados ou atributos. Essa convenção é adotada pelo xml2js no Node.js, pelo JAXB no Java e pela maioria dos frameworks de serialização XML.
Sim, usando a convenção de prefixo @. Na convenção BadgerFish (documentada em badgerfish.de e amplamente adotada), chaves JSON que começam com @ viram atributos XML do elemento pai. Por exemplo, um objeto com @id igual a 123 e #text igual a conteudo gera um elemento XML com o atributo id e o texto conteudo. Essa convenção é usada pelo xml2js com a opção mergeAttrs, pelo Jackson XML no Java com @JacksonXmlProperty e pelo System.Xml.Serialization no .NET com [XmlAttribute].
Namespaces XML (definidos na especificação XML Namespaces do W3C, janeiro de 1999) permitem misturar vocabulários XML sem conflitos de nomes. Na conversão de JSON para XML, namespaces podem ser representados como atributos xmlns no elemento raiz ou em elementos individuais. Para gerar XML SOAP com o namespace do envelope SOAP, por exemplo, você adiciona a chave @xmlns:soap ao objeto raiz. A especificação exata depende do sistema de destino — SOAP, KML, GPX, RSS 2.0, Atom — e exige adaptar o esquema de conversão ao vocabulário XML correspondente.
Caracteres especiais em valores de texto JSON são escapados automaticamente conforme as regras do XML: o sinal de menor vira lt com e-comercial; maior vira gt; e-comercial vira amp; aspas viram quot; e apóstrofo vira apos. Para conteúdo com grandes blocos de texto contendo múltiplos caracteres especiais — como HTML incorporado ou código SQL — uma seção CDATA é mais adequada. Parsers XML tratam o conteúdo de CDATA como texto literal sem processar entidades de escape.
O XML gerado inclui a declaração com versão 1.0 e codificação UTF-8 no início. UTF-8 é a codificação recomendada pelo W3C para documentos XML (XML 1.0 quinta edição, seção 4.3.3). UTF-8 é compatível com ASCII para caracteres básicos e consegue representar qualquer caractere Unicode, garantindo compatibilidade com texto em qualquer idioma. Sistemas SOAP e a maioria dos web services esperam UTF-8 por padrão.
Sim. RSS 2.0 (especificação de Dave Winer, 2002) e sitemaps XML (protocolo Sitemaps definido em sitemaps.org e adotado pelo Google em 2005) são vocabulários XML com estrutura predefinida. Para gerar RSS a partir de JSON, você precisa mapear sua estrutura JSON para os elementos obrigatórios do RSS 2.0: channel com title, link, description e elementos item contendo title, link, pubDate e guid. Para sitemaps o esquema é mais simples: elemento raiz urlset com o namespace correto e elementos url com loc, lastmod, changefreq e priority. O conversor gera XML válido; o mapeamento de campos JSON para XML fica a cargo do desenvolvedor.
Converter JSON para XML: integração REST-SOAP, recursos Android e geração de feeds
XML (Extensible Markup Language) foi definido pelo W3C na recomendação XML 1.0 (publicada em 10 de fevereiro de 1998, atualmente em sua quinta edição de novembro de 2008) como uma metalinguagem para definir vocabulários de marcação estruturada. Ao longo dos anos 2000, o XML foi o formato universal de troca de dados: SOAP (Simple Object Access Protocol, especificação W3C de 2003) usava XML como formato de mensagem para web services corporativos; RSS 2.0 (publicado por Dave Winer em 2002) e Atom 1.0 (RFC 4287, dezembro de 2005) distribuíam feeds de conteúdo em XML; o Android (lançado pelo Google em 2008) usava XML para layouts, strings e manifestos de aplicativo; e o SVG (Scalable Vector Graphics, W3C 1.1 de 2003) é XML. A necessidade de converter JSON para XML surge em três cenários principais: integrar APIs REST modernas com sistemas corporativos SOAP ou EDI (Electronic Data Interchange); gerar recursos XML para Android — strings.xml, arrays.xml, configurações de preferências — a partir de dados JSON do backend; e criar feeds RSS, sitemaps ou documentos KML/GPX a partir de dados armazenados em JSON ou retornados por APIs REST.
A conversão de JSON para XML exige resolver diferenças fundamentais entre os dois modelos de dados. JSON é uma árvore de valores: objetos (pares chave-valor), arrays, strings, números, booleanos e null. XML é uma árvore de nós: elementos (que podem ter atributos e conteúdo filho/texto ao mesmo tempo), texto, comentários, instruções de processamento e seções CDATA. As convenções de conversão mais adotadas são: a convenção BadgerFish (documentada em badgerfish.de), onde chaves com prefixo @ viram atributos XML e a chave especial #text vira o conteúdo de texto do elemento; e a convenção Parker (mais simples, sem atributos, todos os valores como elementos filhos). Para integração SOAP, o XML deve estar de acordo com o WSDL (Web Services Description Language, W3C 2001) do serviço, o que exige mapeamento explícito dos campos JSON para os tipos definidos no esquema XSD. Para recursos Android, os elementos string, string-array e plurals do strings.xml têm convenções específicas que devem ser respeitadas para o compilador aapt2 processá-los corretamente.
Para uso em produção em larga escala, as ferramentas mais utilizadas para conversão de JSON para XML são: no Node.js, xml2js (mais de 25 milhões de downloads mensais no npm) e xmlbuilder2; no Java, Jackson com o módulo jackson-dataformat-xml e a especificação JAXB (Jakarta XML Binding, parte do Jakarta EE); no Python, a biblioteca xmltodict combinada com xml.etree da biblioteca padrão; no .NET, System.Xml.Serialization e o conversor integrado JsonConvert.SerializeXmlNode do Newtonsoft.Json. Para geração de sitemaps a partir de dados JSON, a especificação do protocolo Sitemaps (sitemaps.org, adotado por Google, Bing e Yahoo em 2006) define um esquema XML estrito: o elemento raiz urlset deve incluir o atributo xmlns com o namespace correto. Validar o XML gerado contra o esquema XSD do sistema de destino é a etapa fundamental em integrações corporativas — ferramentas como xmllint (parte do libxml2) ou o validador online do W3C permitem verificar a conformidade antes da implantação.