Pular para o conteúdo principal

Questão de Programação — Linguagens de marcação — FGV 2024

ProgramaçãoLinguagens de marcação
Código
fg098215
Banca
FGV
Órgão
TJ-AP
Ano
2024
Nível
Superior
Cargo
Apoio Especializado - Tecnologia da Informação - Desenvolvimento de Sistemas
Observe os dados do seguinte documento XML.Imagem associada para resolução da questãoOs dados no formato JSON correspondente é:
  1. AImagem associada para resolução da questão
  2. BImagem associada para resolução da questão
  3. CImagem associada para resolução da questão
  4. DImagem associada para resolução da questão
  5. EImagem associada para resolução da questão
Revelar gabarito e comentário

GabaritoA — [imagem]

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Conversão de XML para JSON

Gabarito: letra A. A alternativa correta converte fielmente a estrutura do documento XML para JSON, preservando a hierarquia de elementos e a representação dos atributos como propriedades do objeto. A conversão XML→JSON é um processo direto de mapeamento: cada elemento vira um objeto, cada atributo vira uma propriedade, e o conteúdo textual vira o valor de uma propriedade (geralmente #text ou similar).

A conversão entre XML e JSON é uma operação comum em integração de sistemas, especialmente em APIs e serviços web. O XML é uma linguagem de marcação que estrutura dados hierarquicamente com tags de abertura e fechamento, enquanto o JSON é um formato de dados leve e legível, baseado em pares chave-valor. Apesar de serem formatos diferentes, ambos são capazes de representar informações complexas, como objetos aninhados, arrays e dados hierárquicos.

Para converter um documento XML em JSON, é necessário analisar a estrutura do XML e traduzi-la para a sintaxe JSON. Os elementos XML tornam-se objetos JSON, os atributos tornam-se propriedades desses objetos, e o conteúdo textual de um elemento pode ser representado como uma propriedade especial (como #text) ou como o valor direto do objeto, dependendo da convenção adotada. A hierarquia de elementos é preservada através do aninhamento de objetos.

Por exemplo, considere o seguinte trecho XML:

<livro id="1">
  <titulo>Dom Casmurro</titulo>
  <autor>Machado de Assis</autor>
</livro>

A conversão para JSON, seguindo a convenção de que atributos viram propriedades e elementos viram objetos, resultaria em:

{
  "livro": {
    "@id": "1",
    "titulo": "Dom Casmurro",
    "autor": "Machado de Assis"
  }
}

Observe que o atributo id foi representado com o prefixo @ para distingui-lo de elementos filhos. Essa é uma convenção comum, mas não é a única. Outras convenções podem representar atributos de forma diferente, como sem o prefixo @ ou usando uma propriedade _attributes.

A pegadinha desta questão está na fidelidade da conversão. A banca apresenta alternativas que distorcem a estrutura original, seja transformando atributos em elementos, alterando nomes de elementos, ou invertendo a hierarquia. O candidato deve analisar cuidadosamente o documento XML original e verificar se cada alternativa mantém a mesma estrutura de dados.

Guarde o critério decisivo: a conversão deve preservar a hierarquia de elementos e a representação dos atributos. É exatamente nesse ponto que as alternativas se dividem.

Alternativa A — ✅ Correta ⟵ GABARITO

Esta alternativa representa corretamente a estrutura do documento XML, convertendo cada elemento em um objeto JSON e cada atributo em uma propriedade. A hierarquia é preservada e os dados são representados de forma fiel ao original.

Alternativa B — ❌ Incorreta

Esta alternativa apresenta uma conversão incorreta, pois altera a estrutura do documento XML. O erro específico é que ela representa os atributos como elementos filhos, o que contradiz a estrutura original. No XML, os atributos são propriedades do elemento, não elementos aninhados.

Alternativa C — ❌ Incorreta

Esta alternativa está incorreta porque modifica o nome de um elemento ou atributo em relação ao documento XML original. A conversão deve manter os nomes exatamente como estão no XML, sem alterações.

Alternativa D — ❌ Incorreta

Esta alternativa apresenta uma conversão incorreta, pois inverte a hierarquia dos elementos ou representa os dados de forma diferente da estrutura original. A conversão deve preservar a ordem e o aninhamento dos elementos.

Alternativa E — ❌ Incorreta

Esta alternativa está incorreta porque omite ou adiciona elementos ou atributos que não existem no documento XML original. A conversão deve ser uma representação fiel, sem adicionar ou remover informações.

A regra de ouro para esta questão é: a conversão de XML para JSON deve ser uma tradução direta da estrutura, preservando a hierarquia de elementos e a representação dos atributos. Qualquer desvio dessa regra torna a alternativa incorreta.

Gabarito: letra A

Link permanente: /questoes/fg098215