Conversor XML ↔ JSON
Um conversor XML/JSON bidirecional que preserva o que a maioria dos conversores perde: atributos, conteúdo misto, elementos repetidos. Atributos viram chaves com prefixo `@` (configurável), então `<book id="1">` vira `{"@id": "1"}`. Elementos filhos repetidos colapsam em arrays. Conteúdo de texto ao lado de atributos vai para uma chave `#text` (também configurável). O lado XML usa o `DOMParser` nativo do navegador — o mesmo code path que seu navegador usa para respostas `application/xml`, então namespaces, entidades e CDATA todos funcionam. O lado JSON reverte as mesmas convenções para round-tripping.
Como usar
- Escolha a direção. Cole XML (ou JSON) — dados de amostra a um clique.
- Ajuste o prefixo de atributo e a chave de texto se está mirando um schema específico (`x2js`, `fast-xml-parser`, custom).
- JSON→XML deixa você definir um nome de elemento root e togglar a declaração `<?xml ... ?>`. Copie quando pronto.
Perguntas frequentes
- Por que prefixar atributos?
- Porque JSON não distingue nativamente atributos de elementos filhos. Prefixar (com `@`, `_`, ou o que você quiser) faz o round-trip lossless — você pode converter XML→JSON→XML e obter o mesmo documento. Sem a convenção, atributos colidiriam com nomes de elementos filhos.
- Lida com conteúdo misto (`<p>hello <b>world</b>!</p>`)?
- Parcialmente. Texto puro vira string; filhos elemento com texto viram `{ #text: '...' }` ao lado dos filhos. Texto e elementos intercalados (como `hello <b>world</b>!`) colapsam para o texto unido na chave `#text`, que round-trips mas perde a ordem original. Para documentos com conteúdo misto pesado (HTML, DocBook), um parser dedicado é melhor.
Ferramentas relacionadas
Objeto JS ↔ JSON
Converte um literal de objeto JavaScript (`{name: 'Alice'}`) pra JSON estrito — ou JSON estrito de volta pra um literal JS limpo com chaves sem aspas.
Conversor de escape de strings
Escapa uma string para 10 contextos de uma vez — JavaScript, JSON, entidades HTML, URL, SQL, regex, Bash (aspas simples/duplas), C string, escapes Unicode \u. Copie o que precisar.
Visualizador de plist (binário e XML)
Abra uma lista de propriedades da Apple — binária ou XML — e leia-a como árvore, ou converta-a para JSON ou plist XML.
Conversor JSON ↔ YAML
Converta JSON em YAML ou YAML em JSON — escolha a indentação e copie o resultado.
Conversor INI ↔ JSON
Converte entre arquivos de config estilo INI e JSON — suporta seções, aninhamento por pontos, comentários e inferência de tipos de valor.
Conversor TOML ↔ JSON
Converta entre TOML (`Cargo.toml`, `pyproject.toml`, configs Hugo) e JSON — lida com tabelas, array-of-tables, tabelas inline, escalares tipados.