AZ Tools

Conversor XML ↔ JSON

Converter

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

  1. Escolha a direção. Cole XML (ou JSON) — dados de amostra a um clique.
  2. Ajuste o prefixo de atributo e a chave de texto se está mirando um schema específico (`x2js`, `fast-xml-parser`, custom).
  3. 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