DocumentosImagensMídiaFerramentas PDF

Converter XML para JSON Online

Converta XML para JSON no seu navegador. Ideal para migração de SOAP para REST, leitura de feeds RSS/Atom ou processamento de XML legado.

// Invalid XML: DOMParser is not defined
Processed in your browser

XML para JSON: modernize sua stack de dados

Migração de SOAP para REST

Converta respostas de web services SOAP em JSON para integrar com APIs REST modernas e clientes JavaScript.

Feeds RSS e Atom

Converta feeds RSS 2.0 e Atom 1.0 para JSON e processe com JavaScript, armazene no MongoDB ou exiba em apps web.

100% privado

Seu XML é processado no seu navegador com o DOMParser nativo. Nunca sai do seu dispositivo.

XML legado

Processe recursos Android como strings.xml e layouts, sitemaps, manifestos SOAP ou qualquer formato XML herdado.

Três passos, sem complicação

1

Cole seu XML

Cole qualquer XML válido: resposta SOAP, feed RSS/Atom, sitemap.xml, manifesto Android ou qualquer documento XML 1.0.

2

Conversão inteligente

Atributos XML são convertidos com prefixo @, o conteúdo de texto com #text, e elementos repetidos são agrupados automaticamente em arrays.

3

Baixe ou copie o JSON

Obtenha um JSON estruturado pronto para usar na sua API REST, banco de dados NoSQL ou código JavaScript/Python.

Ficou com dúvidas?

O XML permite tanto elementos filhos quanto atributos para armazenar dados, sem equivalente direto em JSON. A convenção mais adotada — usada por xml2js no Node.js, xmltodict no Python e JAXB no Java — é prefixar os atributos com @: o elemento com id e role se torna um objeto com @id e @role. O conteúdo de texto de elementos mistos fica na chave #text. Essa convenção é consistente com a especificação BadgerFish e com as ferramentas mais populares do ecossistema.

Em XML é perfeitamente válido ter vários elementos irmãos com o mesmo nome, como itens dentro de uma lista. O JSON não consegue representar múltiplas chaves iguais no mesmo objeto, conforme o RFC 7159. A solução padrão é agrupá-los em um array. Um bom conversor detecta elementos repetidos automaticamente e os transforma em array, mesmo quando só existem dois. Isso pode causar inconsistências se às vezes houver um único elemento e às vezes vários, então o ideal é sempre normalizar para array nos campos que podem se repetir.

Namespaces XML, definidos pelo W3C em Namespaces in XML 1.0 (publicado em janeiro de 1999 e revisado em agosto de 2006), são um recurso do XML sem equivalente em JSON. A representação mais comum é incluir o prefixo do namespace como parte do nome da chave: o elemento soap:Body vira a chave soap:Body no JSON. Declarações de namespace são tratadas como atributos e aparecem como @xmlns:prefixo. Para casos como migração de SOAP para REST, onde namespaces são onipresentes, geralmente é necessário um pós-processamento para removê-los do JSON resultante.

CDATA (Character Data) é uma seção especial do XML que permite incluir texto contendo caracteres normalmente reservados — como menor, maior e e-comercial — sem usar entidades XML. A sintaxe é com marcadores de abertura e fechamento específicos. CDATA é usado com frequência para incluir HTML, JavaScript ou SQL dentro de um elemento XML. Na conversão para JSON, o conteúdo CDATA é tratado como texto puro: as marcações são removidas e o resultado aparece como string normal no campo JSON.

A conversão acontece no seu navegador usando o DOMParser nativo para analisar o XML e um serializador JSON personalizado. O DOMParser consegue lidar com arquivos XML de dezenas de MB em navegadores modernos como Chrome, Firefox e Edge. Para arquivos grandes (acima de 10 MB) o processo pode levar alguns segundos. Para arquivos muito grandes — acima de 100 MB, como sitemaps com centenas de milhares de URLs — recomendamos ferramentas de streaming como xml2json no Node.js, xmltodict no Python com o modo iterparse, ou o processador Saxon para XML corporativo.

Converter XML para JSON: migração de SOAP para REST, feeds RSS e processamento de XML legado

O 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). 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; RSS 2.0 (lançado por Dave Winer em 2002) e Atom 1.0 (RFC 4287, dezembro de 2005) distribuíam feeds de notícias 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 transição para JSON como formato de troca principal começou com a popularização do AJAX e a especificação de JSON por Douglas Crockford (RFC 4627, julho de 2006, substituído pelo RFC 7159 em 2014). Hoje a maioria das novas APIs usa JSON/REST, mas milhões de sistemas legados, serviços B2B e formatos industriais padrão como UBL, HL7 FHIR em XML, SOAP, KML e GPX ainda dependem de XML.

Converter XML para JSON não é trivial porque os dois modelos de dados têm diferenças conceituais fundamentais. O XML é um modelo de árvore de nós — elementos, atributos, texto, comentários, instruções de processamento, CDATA — onde os elementos podem ter atributos e conteúdo filho ao mesmo tempo. O JSON é um modelo de árvore de valores — objetos, arrays, strings, números, booleanos e null — sem o conceito de atributos separados do conteúdo. As principais convenções de conversão são: atributos XML como chaves com prefixo @ (convenção BadgerFish/xml2js); texto de elementos mistos na chave #text; elementos repetidos agrupados em arrays; namespaces preservados como prefixos de chave; e CDATA tratado como texto puro. A convenção BadgerFish, documentada em badgerfish.de e adotada pelas bibliotecas mais populares, é o padrão de facto para essa conversão.

Para casos de uso em produção em alta escala, as ferramentas mais usadas são: xml2js (Node.js, mais de 25 milhões de downloads mensais no npm), xmltodict (Python, baseado em xml.etree da biblioteca padrão), JAXB (Java, parte do Jakarta EE) e encoding/xml (biblioteca padrão do Go). Para migrar serviços SOAP legados para REST, ferramentas como Apache Camel, MuleSoft Anypoint e AWS API Gateway com transformações de payload oferecem integração nativa de XML para JSON no nível de middleware. Para sitemap.xml — o protocolo Sitemaps definido em sitemaps.org e adotado pelo Google em 2005 — converter para JSON permite processar listas de URLs com JavaScript sem um parser XML. O Convertir.ai usa o DOMParser nativo do navegador (API padrão do W3C, disponível em todos os navegadores modernos desde 2004) para analisar o XML e um serializador personalizado para gerar o JSON, garantindo total privacidade ao não enviar nenhum dado para o servidor.