Pular para o conteúdo

Conversor XML para JSON

Transforme XML em JSON limpo com controle sobre atributos, arrays e tipos.

Opções
Funciona no seu navegador: seu XML não é enviado. DTDs externos nunca são baixados.

Como usar

  1. Cole seu documento no editor XML.
  2. Defina Prefixo de atributo e Chave de texto para as chaves do JSON.
  3. Escolha 2 espaços, 4 espaços, Tab ou Minificar em Indentação.
  4. Confira o resultado no editor JSON.

Exemplos

Produtos com preços, códigos e estoque

Entrada
<produtos>
  <produto codigo="007">
    <nome>Café torrado 500 g</nome>
    <preco>24.90</preco>
    <disponivel>true</disponivel>
  </produto>
  <produto codigo="012">
    <nome>Filtro de papel</nome>
    <preco>6.50</preco>
    <disponivel>false</disponivel>
  </produto>
</produtos>
Saída
{
  "produtos": {
    "produto": [
      {
        "@codigo": "007",
        "nome": "Café torrado 500 g",
        "preco": 24.90,
        "disponivel": true
      },
      {
        "@codigo": "012",
        "nome": "Filtro de papel",
        "preco": 6.50,
        "disponivel": false
      }
    ]
  }
}

Pedido com um único item em array

Entrada
<pedido numero="1058">
  <item sku="CAN-01">Caneca de cerâmica</item>
  <observacao/>
</pedido>
Saída
{
  "_numero": "1058",
  "item": [
    {
      "_sku": "CAN-01",
      "#text": "Caneca de cerâmica"
    }
  ],
  "observacao": [
    null
  ]
}

Configuração sem prefixos de namespace

Entrada
<cfg:configuracao xmlns:cfg="urn:loja:configuracao">
  <!-- Retirada na loja -->
  <cfg:unidade>São Paulo</cfg:unidade>
  <cfg:horario>09:00 às 18:00</cfg:horario>
</cfg:configuracao>
Saída
{
    "configuracao": {
        "@xmlns:cfg": "urn:loja:configuracao",
        "#comment": "Retirada na loja",
        "unidade": "São Paulo",
        "horario": "09:00 às 18:00"
    }
}

Perguntas frequentes

Meu XML é enviado para um servidor?

A conversão acontece no seu navegador, sem enviar o XML ao servidor. O parser também não busca DTDs nem entidades externas.

Por que meu XML não gera um JSON?

Se houver erro de sintaxe, o resultado fica vazio e o conversor indica a linha e a coluna. Corrija o trecho indicado; o documento precisa ter um único elemento raiz, tags fechadas corretamente e atributos entre aspas.

A conversão preserva a ordem do texto e das tags?

Quando texto e elementos aparecem intercalados, os trechos de texto são unidos em uma chave e perdem sua posição entre as tags. Elementos alternados, como a, b, a, também são agrupados por nome; o conversor mostra avisos nesses casos.

Qual é o limite de tamanho do arquivo XML?

Arquivos maiores que 50 MB são recusados. O XML também não pode ultrapassar 1.000 níveis de elementos aninhados.