XML para conversor JSON
Conversor XML e JSON bidirecional com três estratégias de mapeamento. Escolha compacto para saída no estilo xml2js, detalhado para viagens de ida e volta sem perdas ou simplificado para obter o resultado mais limpo e compatível com JavaScript. Lida com atributos, CDATA, namespaces e elementos repetidos.
Como converter XML para JSON
Escolha uma estratégia de mapeamento
Compacto (padrão) coloca atributos em @-chaves prefixadas, conteúdo de texto em #texte mescla elementos filhos repetidos em matrizes — correspondendo à convenção usada por xml2js e pela maioria das bibliotecas XML de back-end. Verbose produz um explícito { name, attributes, children } estrutura para cada nó sem ambiguidade, ideal para viagens de ida e volta totalmente sem perdas. Simplificado recolhe elementos somente texto em valores de string simples, fornecendo a saída mais limpa e compatível com JavaScript ao custo de perder atributos nesses nós folha.
Cole ou digite seu XML
Insira qualquer XML válido no painel esquerdo. A ferramenta converte ao vivo conforme você digita quando o modo Ao vivo está ativado. Desative o Live para converter somente sob demanda clicando em Converter. Clique em Amostra para carregar um exemplo realista de catálogo de biblioteca com atributos, elementos repetidos e uma seção CDATA para explorar todas as três estratégias.
Atributos, CDATA e namespaces
As seções CDATA são preservadas como conteúdo de texto em todos os três modos. Os comentários são descartados por padrão (JSON não tem sintaxe de comentário), mas são retidos como nós digitados no modo detalhado. Prefixos de namespace como soap:Envelope ou xsi:type são mantidos literalmente como parte dos nomes de elementos e atributos — a ferramenta não resolve namespaces, mas os trata sem erros. Todas as referências de entidade XML (&, <, numérico &#NN;) são decodificados na análise e recodificados na emissão.
Conversão reversa: JSON para XML
Mude a alternância de direção para JSON→XML para reconstruir XML a partir de um objeto JSON. JSON compacto espera @-chaves de atributos prefixadas e #text para conteúdo de texto. JSON detalhado deve ser uma matriz de objetos de nó digitados. JSON simplificado trata todos os valores primitivos como texto de elemento filho, com _text como a chave de texto especial. Use Swap para enviar a saída de volta como entrada para verificação imediata do roundtrip.
Perguntas frequentes
Por que converter XML em JSON?
XML ainda é comum em APIs legadas, serviços SOAP, feeds RSS, arquivos de configuração e formatos de dados governamentais. JSON é a estrutura de dados nativa para JavaScript e o formato dominante para APIs REST modernas. A conversão torna os dados XML facilmente consumíveis por qualquer front-end moderno, serviço Node.js ou script Python.
Qual é a diferença entre as três estratégias de mapeamento?
Compact coloca atributos em @-chaves prefixadas, texto abaixo #texte mescla elementos filhos repetidos em matrizes - corresponde às convenções xml2js. Verbose produz um explícito { name, attributes, children } estrutura sem ambiguidade. Simplificado recolhe elementos somente texto em strings simples, produzindo a saída mais limpa e compatível com JavaScript, mas perdendo atributos nesses nós.
Ele lida com CDATA, comentários e namespaces?
As seções CDATA são preservadas como conteúdo de texto. Os comentários são descartados por padrão (JSON não tem sintaxe de comentário), mas são mantidos no modo detalhado. Prefixos de namespace como soap:Envelope são mantidos literalmente como parte dos nomes de elementos e atributos - a ferramenta não executa resolução de namespace, mas também não quebra em nomes prefixados.
A conversão é sem perdas?
O modo detalhado é totalmente sem perdas. O modo compacto perde comentários e a ordem entre atributos e filhos. O modo simplificado também perde atributos em elementos somente texto. A direção inversa reconstrói XML válido a partir de qualquer um dos três formatos, desde que o JSON corresponda à estratégia escolhida.
Meus arquivos são carregados em algum lugar?
Não. O analisador, o serializador e o conversor reverso são executados inteiramente no seu navegador usando JavaScript. Nada é enviado para nenhum servidor, nenhuma análise observa entrada e a página funciona offline depois de carregada.