Como converter JSON para XML
Introduza texto JSON, defina a raiz e a apresentação pretendidas e execute a conversão para obter XML. Conteúdo inválido falha, enquanto uma entrada vazia resulta numa cadeia XML vazia.
Antes de iniciar a conversão
A ferramenta transforma texto JSON em XML e disponibiliza controlos para definir o nome do elemento raiz e o aspeto da saída. Pode ser útil quando uma estrutura que está em JSON tem de ser entregue num contexto que trabalha com XML, desde que o conteúdo seja preparado com sintaxe válida.
A conversão começa com texto introduzido na entrada. Um objeto JSON dá origem a elementos XML para os seus membros, enquanto os objetos aninhados ficam representados dentro do elemento correspondente. O resultado não depende apenas dos dados: também pode refletir o nome de raiz escolhido e a opção de formatação legível.
Antes de começar, decida qual deve ser o nome da raiz e se prefere uma saída compacta ou mais fácil de ler. Se não alterar as opções iniciais, o nome da raiz é root e a formatação legível está ativada. Também convém distinguir uma entrada vazia de um valor JSON null, porque estes casos produzem resultados diferentes.
Procedimento de utilização
-
Prepare o conteúdo JSON como texto. Um objeto, uma lista, um valor
nullou outro valor JSON pode servir de entrada, mas a sintaxe tem de ser válida para haver um documento convertido. Se deixar a entrada vazia ou inserir apenas espaços, a ferramenta aceita esse conteúdo e devolve uma cadeia XML vazia. -
Cole o texto no controlo de entrada. Num objeto, cada membro passa a ser um elemento filho da estrutura XML. Quando um membro contém outro objeto, os elementos desse objeto ficam dentro do elemento que representa o membro exterior, o que permite acompanhar a relação entre os níveis.
-
Selecione o nome da raiz pretendido. Quando não indicar outro nome, é usado
root. Reveja também o controlo de formatação legível: está ativo por predefinição, mas pode ser desativado se preferir uma apresentação sem a formatação adicional. -
Execute a conversão e observe o resultado. Para um JSON não vazio, válido e diferente de
null, a formatação legível tenta acrescentar uma declaração XML e indentação. Esta apresentação é uma característica da saída formatada, não uma alteração da estrutura dos dados. -
Se a operação falhar, volte ao texto de entrada e procure erros de sintaxe, como uma vírgula indevida, aspas em falta ou um valor omitido. JSON mal formado não produz um documento XML convertido, pelo que é necessário corrigir o conteúdo antes de repetir a ação.
-
Examine os nomes dos elementos no resultado. Caracteres não incluídos no conjunto suportado para nomes XML são substituídos por sublinhados. Se uma chave ou o nome da raiz começar por um algarismo, é acrescentado um sublinhado inicial; por isso, confirme se os nomes apresentados correspondem ao que o sistema de destino aceita.
Leitura e verificação da saída
A forma das listas varia consoante o ponto onde aparecem. Os itens de uma lista no nível superior são envolvidos por elementos item, tal como os objetos que surgem dentro de listas. Numa lista de valores simples pertencente a um objeto, os elementos repetidos usam o nome do membro que contém essa lista. Quando existem listas aninhadas, as listas interiores reutilizam o nome da etiqueta do nível pai.
Os caracteres especiais presentes no conteúdo textual são escapados durante a serialização do XML. Esse tratamento aplica-se ao texto dos elementos e não significa que a grafia das chaves JSON seja preservada: os nomes incompatíveis com as regras suportadas para elementos XML podem ser ajustados.
Uma cadeia XML vazia indica que a entrada estava vazia ou continha apenas espaços. Já o valor JSON null é aceite e cria um elemento raiz auto-fechado, sem a declaração XML mencionada para a saída formatada de dados não nulos. Assim, o conteúdo da entrada e a configuração de formatação devem ser considerados em conjunto ao analisar o resultado.
Exemplo prático
Uma pessoa tem um pequeno registo JSON de cliente e precisa de o transformar num XML legível com uma raiz chamada dados.
Cole {"cliente":{"nome":"Ana","contactos":["email","telefone"]}}, escolha dados como nome da raiz, deixe a formatação legível ativa e execute a conversão.
A saída terá uma raiz chamada dados, um elemento para cliente, elementos descendentes para nome e contactos e elementos repetidos para os valores da lista, de acordo com a posição dessa lista.
Limitações
- Uma chave JSON ou o nome da raiz pode não conservar a grafia original se contiver caracteres não suportados por nomes XML ou começar por um algarismo.
Erros comuns
- Uma vírgula extra, aspas desequilibradas ou uma chave sem valor torna o JSON mal formado e conduz a uma falha; corrija a sintaxe do texto e execute a conversão novamente.
Perguntas frequentes
Um objeto JSON conserva a hierarquia ao passar para XML?
Sim, quando o texto fornecido é JSON válido: os membros tornam-se elementos XML e os objetos aninhados ficam dentro do elemento do membro que os contém.
Como aparecem as listas no XML?
A representação depende da posição: listas no nível superior usam elementos item, listas simples dentro de um objeto repetem o nome do membro e listas aninhadas reutilizam a etiqueta do nível pai.
Que resultado produz uma entrada vazia ou null?
A entrada vazia ou composta apenas por espaços devolve uma cadeia XML vazia; em contrapartida, null é aceite e origina um elemento raiz auto-fechado.