Guia

Como converter XML para JSON preservando atributos e listas

Introduza texto XML para obter texto JSON com a estrutura e os atributos representados. Ajuste a indentação e indique nomes que devem assumir a forma de listas quando precisar dessa organização nos dados convertidos. Está disponível uma opção específica para cada escolha.

Ferramenta Conversor de XML para JSON

O que esta conversão preserva

Este conversor transforma texto XML em texto JSON, mantendo nos dados convertidos a estrutura e os atributos presentes na origem. Pode utilizá-lo quando recebe um documento XML e precisa de preparar o seu conteúdo para uma etapa de trabalho que use JSON, sem deixar de consultar a informação associada aos elementos.

A conversão é apresentada como texto JSON, pelo que a indentação ajuda a ler níveis, objetos e listas com maior facilidade. O valor predefinido da indentação é de dois espaços, mas pode indicar outro valor numérico quando pretende aproximar a apresentação do resultado de uma convenção de leitura ou de uma comparação entre versões.

Também pode declarar nomes de elementos que devem ser representados como listas. Esta opção é útil quando quer manter uma forma previsível para determinados campos, incluindo situações em que o XML contém apenas uma ocorrência desse nome. Os elementos filhos que se repetem no XML são representados como listas nos dados convertidos, o que permite distinguir uma coleção de ocorrências.

Como executar a conversão

  1. Prepare o texto XML que pretende transformar. Inclua os elementos, os valores e os atributos necessários, verificando se cada elemento tem uma abertura e um fecho coerentes.
  2. Introduza o conteúdo no campo de entrada do conversor. Se estiver a trabalhar com uma entrada vazia ou composta apenas por espaços, tenha em conta que a operação é bem-sucedida e produz uma representação de objeto JSON vazio.
  3. Defina uma indentação numérica se quiser alterar o espaçamento do texto JSON. Quando não indicar outro valor, a formatação utiliza dois espaços, o que fornece uma apresentação recuada para leitura.
  4. Se alguns nomes de elementos tiverem de aparecer como listas, escreva-os na opção destinada a forçar listas, separando os nomes por vírgulas. Use esta indicação para os campos cuja forma pretende manter mesmo com uma única ocorrência.
  5. Inicie a conversão e consulte o texto JSON obtido. Compare a estrutura geral com o XML fornecido, observe se os atributos continuam representados e confirme se os elementos filhos repetidos aparecem como listas.
  6. Antes de aproveitar o resultado noutra etapa, reveja os níveis de elementos e a forma dos campos relevantes. Uma entrada XML bem formada é necessária para uma conversão bem-sucedida; por isso, corrija a sintaxe se surgir uma falha em vez de tratar a saída como JSON válido.

Como ler o resultado

Leia a indentação como uma escolha de apresentação do texto JSON. Alterar o número indicado modifica o espaçamento visível entre níveis, enquanto a representação dos dados continua a dever ser analisada através dos elementos e dos valores que foram convertidos.

Os atributos XML não desaparecem por definição na conversão: são representados nos dados JSON obtidos. Do mesmo modo, quando um elemento filho ocorre várias vezes, as ocorrências são organizadas como uma lista. Esta forma torna mais clara a presença de vários itens no mesmo ponto da estrutura e deve ser considerada ao consultar o resultado.

A opção de forçar listas serve para antecipar a forma de nomes selecionados. Assim, pode pedir uma representação em lista para um elemento que não se repita na entrada, sem confundir essa escolha com a indentação, que apenas controla a disposição do texto.

Se a operação falhar, comece por rever a sintaxe do XML, procurando aberturas sem fecho correspondente, fechos incompatíveis ou atributos mal escritos. Uma falha também pode ocorrer quando os dados lidos não conseguem ser serializados como JSON. Nesse caso, examine a estrutura fornecida e não utilize o resultado como se fosse uma conversão concluída.

Exemplo prático

Precisa de transformar um pequeno catálogo XML num formato JSON para uma etapa de processamento que utiliza esse formato.

Introduza um catálogo XML com dois elementos de produto repetidos, cada um com um atributo de identificação, e mantenha o valor predefinido da indentação para consultar a estrutura convertida no texto JSON gerado. Não é necessário forçar a lista, porque a repetição já determina essa representação.

O resultado deverá ser texto JSON com o atributo de identificação representado e os dois produtos repetidos organizados como uma lista, apresentado com a indentação predefinida.

Limitações

  • A operação pode falhar com XML malformado ou quando os dados lidos não conseguem ser serializados como JSON.

Erros comuns

  • Causa: o XML contém uma abertura sem fecho correspondente, uma tag incompatível ou um atributo mal escrito. Correção: reveja cada elemento e os seus atributos, corrija a estrutura e execute a conversão novamente.

Perguntas frequentes

O que acontece quando não introduzo XML?

Se a entrada estiver vazia ou contiver apenas espaços, a operação é bem-sucedida e produz uma representação de objeto JSON vazio; isso não acrescenta dados XML ao resultado. Para converter conteúdo, introduza um documento XML.

O conversor aceita XML malformado?

Quando o XML está malformado, a conversão não é bem-sucedida. Reveja os elementos e os atributos, corrija a sintaxe e repita a operação depois dessa alteração no conteúdo de entrada sinalizado pelo erro.

Posso alterar a indentação do JSON?

Pode indicar uma indentação numérica para controlar o espaçamento do JSON. Se não escolher outro valor, a formatação usa dois espaços, mantendo uma apresentação recuada para leitura do texto produzido.

Ferramenta

Conversor de XML para JSON