UltKit

Conversor de XML para JSON

Tire os dados de uma resposta SOAP, de um feed RSS, de um arquivo de configuração ou da exportação de um sistema legado e leve-os para o JSON que seu JavaScript, Python ou ferramenta no-code lê nativamente, sem escrever um parser à mão.

Conversor de dados

ou solte arquivos CSV, TSV, TXT … aqui ·

Até 95 MB por arquivo· Até 20 arquivos· Apagados após 30 minutos

Saída

Os arquivos são processados em nossos servidores e apagados após 30 minutos.

Como usar esta ferramenta

  1. 1

    Envie o XML

    Solte os arquivos .xml na área de envio, até 20 por lote e 95 MB cada. Cada arquivo é convertido separadamente.

  2. 2

    Escolha legível ou compacto

    Formatação legível vem ativada e recua o JSON para facilitar a leitura e a revisão de código. Desative em Configurações avançadas para obter a saída menor possível, em uma única linha, para o corpo de uma requisição de API.

  3. 3

    Converta e use o JSON

    Clique em Converter para JSON, baixe o arquivo .json e carregue-o no seu código ou ferramenta.

Envie o XML e clique em Converter para JSON: os elementos viram chaves, os elementos repetidos viram arrays e os atributos são mantidos como chaves com prefixo @, então nenhuma informação das tags se perde.

Quem precisa de um conversor de XML para JSON

O XML 1.0 virou Recomendação do W3C em fevereiro de 1998 e, na década seguinte, foi a linguagem dos sistemas: serviços web SOAP, feeds RSS e Atom, documentos do Office, mensagens bancárias, catálogos de produtos. Muitos desses sistemas continuam em funcionamento. O JSON, especificado na RFC 8259, passou a dominar as novas APIs web porque o JavaScript o lê sem biblioteca de parsing e porque ele corresponde diretamente a listas e dicionários em quase todas as linguagens.

Por isso, quem converte costuma estar fazendo a ponte entre as duas eras. Um desenvolvedor front-end recebe uma resposta SOAP de um provedor de pagamento ou de entrega e quer um objeto simples. Quem monta automações no Zapier ou no Make leva o feed XML de um fornecedor para um fluxo que funciona melhor com JSON. Um engenheiro de dados migra arquivos de configuração de um aplicativo Java antigo, ou um estudante precisa de um feed RSS em JSON para um trabalho da faculdade. Todos querem a mesma estrutura, sem os sinais de menor e maior.

Converter XML para JSON: como ficam tags, atributos e texto

Entrada XML: um pedido com um atributo, um cliente e dois itens
<order id="A-77">
  <customer>Lena Ortiz</customer>
  <total currency="EUR">59.90</total>
  <item sku="0042">Luminária de mesa</item>
  <item sku="0108">Lâmpada LED</item>
</order>
Como cada parte do pedido acima aparece no JSON
Construção XMLExemploResultado em JSON
Elemento raiz<order>Chave de nível superior order
Atributoid="A-77""@id": "A-77"
Elemento só com texto<customer>"customer": "Lena Ortiz"
Texto mais atributo<total> com currency="EUR"{"@currency": "EUR", "#text": "59.90"}
Elemento repetidoduas tags <item>array "item": [ … , … ]
Comentário<!-- note -->Descartado; o JSON não tem comentários

XML

Extensible Markup Language (XML)

XML é uma linguagem de marcação para dados estruturados publicada pelo W3C em 1998. Ela usa tags aninhadas com atributos e aceita esquemas, namespaces e validação, o que a torna robusta para documentos complexos. Está por trás de feeds RSS, SVG, documentos do Office, sitemaps e muitas trocas de dados empresariais e governamentais. O XML é verboso em comparação com o JSON, mas todas as linguagens de programação e muitas ferramentas de planilha conseguem lê-lo.

Compressão
–
Transparência
–
Animação
–
Lançamento
1998 · W3C
Conversor de XML

JSON

JavaScript Object Notation (JSON)

JSON é um formato de texto leve para dados estruturados, popularizado por Douglas Crockford no início dos anos 2000 e padronizado como RFC 8259 e ECMA-404. Ele representa objetos, arrays, strings, números, booleanos e null com uma sintaxe simples e legível. É o formato padrão de APIs web, arquivos de configuração e troca de dados entre aplicativos em praticamente todas as linguagens de programação. Não tem comentários, datas nem esquemas embutidos, e arquivos grandes e aninhados são difíceis de ler sem um visualizador.

Compressão
–
Transparência
–
Animação
–
Lançamento
2001 · Douglas Crockford
Conversor de JSON

O XML vai para JSON quando dados de um sistema antigo ou corporativo precisam chegar a um app web, um script ou uma ferramenta de automação: o JSON é lido nativamente em JavaScript e corresponde diretamente aos dicionários do Python.

Recursos do XML que não têm lugar no JSON

Os dois formatos descrevem árvores, mas o XML traz extras que o JSON nunca teve. Os namespaces, definidos pelo W3C em 1999, permitem que um documento misture vocabulários como soap: e xsi:; no JSON, eles sobrevivem apenas como parte do nome das chaves. Comentários e instruções de processamento não têm onde ficar e são descartados. O conteúdo misto, isto é, texto intercalado com tags filhas, como um parágrafo XHTML com uma palavra em negrito, é XML válido, mas fica estranho em JSON; por isso, XML no estilo de documento é melhor convertido para HTML ou Markdown do que para JSON.

A ordem é o ponto mais sutil. O XML mantém os elementos irmãos em sequência, e um esquema pode depender disso; as chaves de um objeto JSON, pelo padrão, não têm ordem. Os elementos repetidos mantêm a ordem dentro do array, o que cobre a maior parte dos dados reais. Se o XML é uma lista simples de registros que deve acabar em uma planilha e não em código, XML para Excel entrega linhas e colunas diretamente, e XML para CSV gera um arquivo para importar em um banco de dados.

Perguntas sobre o conversor de XML para JSON

Por que um elemento vira array em um arquivo e objeto em outro?

O conversor só enxerga o que está no documento. Se um pedido tem três tags de item, os itens viram um array; se tem apenas uma, não há o que repetir e ela vira um único objeto. O código que lê o JSON deve aceitar os dois formatos, ou colocar um objeto único dentro de um array antes de percorrê-lo em um laço.

Como os atributos do XML ficam no JSON?

Cada atributo vira uma chave com @ na frente do nome, então currency="EUR" vira "@currency": "EUR". Quando um elemento tem atributos e texto, o texto vai para uma chave #text ao lado deles. Essa convenção evita conflitos entre atributos e elementos filhos que têm o mesmo nome.

Os números do XML viram números no JSON?

O XML não tem tipos de dados próprios; 42 e "42" são iguais dentro de uma tag. Por isso os valores saem como strings, o que preserva CEPs e IDs como 007. Converta para número, depois da leitura, os campos de que seu código precisa.

O que acontece com prefixos de namespace como soap:Envelope?

O prefixo continua fazendo parte do nome da chave, então o envelope aparece como soap:Envelope e a declaração do namespace como a chave @xmlns:soap. Assim, elementos de vocabulários diferentes não se misturam; remova os prefixos no seu código se você trabalha com apenas um.

Posso converter o JSON de volta para XML depois?

Sim, com JSON para XML. Seguindo a mesma convenção de @ e #text, os atributos voltam como atributos. Comentários e a indentação original não retornam, pois o JSON nunca os guardou.