Sobre o XML ↔ JSON
Envelopes SOAP, fragmentos de sitemap e APIs enterprise legadas ainda falam XML, enquanto debuggers front-end e pipelines jq preferem JSON. Começa com { ou [ → XML com elemento raiz; começa com < → JSON aninhado com chaves = nomes de tag.
Nomes de tag viram chaves JSON; atributos e nós de texto ficam na árvore para inspecionar estrutura em vez de perder metadados. JSON de volta para XML ganha wrapper raiz e tags indentadas para diff rápido ou paste em ferramentas XML-first.
O que você pode fazer
Direção automática
JSON vira XML indentado com elemento raiz; XML vira JSON aninhado com chaves = tags. A direção segue o primeiro caractere não whitespace.
Tags, atributos e texto
- Nomes de elemento mapeiam para chaves JSON; conteúdo misto vira campos estruturados quando há atributos.
- Atributos ficam no mesmo objeto do nó para ler id, xmlns ou xsi:type sem XPath extra.
- Tags irmãs repetidas viram arrays JSON sob uma chave.
JSON → XML: nomes
Chaves JSON precisam virar nomes de tag XML válidos — espaços e símbolos são sanitizados; chaves só numéricas podem ganhar prefixo. Valide contra XSD ou WSDL depois da conversão.
Limites
- Sem namespace avançado, preservação de CDATA ou mixed-content além de nós de texto simples.
- Não é data binder ciente de schema — array vs objeto único segue heurística, não sua choice XSD.
- Pastes enormes precisam caber na memória — use CLI streaming para arquivos multi-MB.
Casos de uso
APIs SOAP / XML legadas
Inspecione envelope SOAP como JSON no DevTools ou scripts Node, extraia campos Body e compare respostas entre ambientes sem stack XML completa em todo repo.
Config e trechos de sitemap
Transforme sitemap ou fragmento Spring XML em JSON para ferramentas de diff, ou o inverso quando sample JSON do vendor precisa virar XML para gateway antigo.
XML estilo plist mobile
Converta XML simples tipo property-list quando só formatadores JSON estão abertos — confira booleanos e datas manualmente depois.
Triagem de logs
Cole payloads XML de filas em JSON para filtros jq, transforms Grafana ou anexos de ticket legíveis.
Perguntas frequentes
- Por que meu JSON não vira XML válido?
- Chaves JSON viram nomes de elemento — espaços e caracteres especiais viram tags seguras. Chaves só numéricas podem ganhar prefixo para XML well-formed.
- XML → JSON preserva atributos?
- Sim — atributos do elemento ficam no JSON junto com filhos e texto, para ver o nó completo, não só inner text.
- Como tags XML repetidas são tratadas?
- A primeira ocorrência vira valor único; tags irmãs duplicadas viram array JSON sob aquela chave.
- Posso converter XML enorme?
- O browser parseia o paste inteiro na memória. Para multi-MB use ferramentas CLI streaming; esta página serve mensagens, configs e trechos de log.
- Como converter XML em JSON online?
- Cole XML começando com < e clique Converter. Tags aninhadas viram objetos JSON; nomes duplicados viram arrays. Copie quando a árvore bater com sua expectativa e valide campos contra o contrato.
- Namespaces XML fazem round-trip?
- Prefixos xmlns avançados e tipos xsi não ficam como metadados de primeira classe. Para serviços WSDL-heavy, trate a saída como view de debug e mantenha XML canônico no wire.