Conversor XML ⇄ JSON

Sobre esta ferramenta

Converte XML e JSON entre si. A lógica foi ajustada para priorizar o ciclo de ida e volta (converter e voltar sem alterações).
Por padrão a opção transformar elementos repetidos com o mesmo nome em um array fica desativada, e o array só é criado quando houver 2 ou mais ocorrências.
Quando a raiz do JSON é um array, o XML é representado como <root><item>…</item>…</root>, e na conversão XML→JSON essa estrutura é restaurada como array. Todo o processamento acontece no seu navegador e nenhum dado é enviado.

Conversão XML ⇄ JSON

Como usar

  1. Cole à esquerda o XML ou JSON.
  2. Clique em XML → JSON ou JSON → XML.
  3. Ajuste a indentação, as chaves de atributo/texto, a preservação de namespaces e o tratamento de arrays conforme necessário.
  4. Use os botões Validate para verificar a sintaxe.

Exemplo

XML → JSON:

<user id="42">
  <name>Taro</name>
  <role>admin</role>
  <role>editor</role>
</user>
{
  "user": {
    "@id": "42",
    "name": "Taro",
    "role": ["admin", "editor"]
  }
}

Observações

  • Atributos são representados como [prefixo de atributo][nome do atributo] (padrão @id etc.).
  • O conteúdo de texto usa [chave de texto] (padrão #text).
  • Elementos com o mesmo nome permanecem como valor único por padrão e apenas quando houver 2 ou mais são convertidos em array.
  • Quando a raiz do JSON é um array, o XML usa <root><item>…</item>…</root> (o nome dos itens pode ser alterado).
  • Elementos vazios sem texto nem atributos são emitidos como objeto vazio {}.

Avisos (limites de equivalência)

Buscamos garantir que “JSON original” → XML → “JSON de volta” resulte no mesmo arquivo, mas os casos a seguir fogem desse objetivo.

JSON original:


    "urls": [
             "admin.microsoft.com"
            ],
    "expressRoute": false,
    "id": 160,

JSON após o retorno:


    "urls": "admin.microsoft.com",
    "expressRoute": "false",
    "id": "160",

※Devido às diferenças de tratamento de tipos entre XML e JSON, é difícil obter equivalência estrita, embora anotações de tipo no XML possam ajudar em alguns casos.