Questão nº 59
Questão de Tecnologia da Informação · FGV TJ-AP 2024 (nº 59)
Observe os dados do seguinte documento XML.
```
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<Pessoa>
<Hospede>
<Nome>Ana</Nome>
<Acompanhantes>Bia</Acompanhantes>
<Acompanhantes>Maitê</Acompanhantes>
</Hospede>
</Pessoa>
</root>
```
Os dados no formato JSON correspondente é:
- A{"Pessoa":{"Hospede":[{"Nome":"Thomas"},{"Nome":"Ana","Acompanhantes":["Bia","Maitê"]}]}} (alternativa correta)
- B<"Pessoa":<"Hospede":[{"Nome":"Thomas"};{"Nome":"Ana";"Acompanhantes":["Bia";"Maitê"]}]/>/>
- C["Pessoa":["Hospede":[["Nome":"Thomas"],["Nome":"Ana","Acompanhantes":["Bia","Maitê"]]]]]
- D{"Pessoa"{"Hospede"[{"Nome";"Thomas"},{"Nome";"Ana","Acompanhantes"("Bia";"Maitê")}]}}
- E<"Pessoa"{"Hospede":[{"Nome";"Thomas"},{"Nome":"Ana","Acompanhantes":("Bia";"Maitê")}]}/>
Resposta comentada
Gabarito Alternativa A
XML e JSON são formas de organizar dados. XML usa tags (como <Nome>) para descrever informações, enquanto JSON usa pares de chave-valor (como "Nome": "Ana") e arrays (listas, como ["item1", "item2"]) para a mesma finalidade. Ao converter, elementos XML geralmente viram chaves JSON, e elementos XML repetidos com o mesmo nome são convertidos em arrays JSON.
- (A) Correta: Esta é a representação JSON correta. O elemento
<Pessoa>se torna uma chave de objeto. Dentro dele,<Hospede>se torna uma chave cujo valor é um array (indicado pelos colchetes[]) de objetos, pois a estrutura JSON sugere múltiplos hóspedes (como "Thomas" e "Ana"). Cada hóspede é um objeto com suas propriedades. Os elementos<Acompanhantes>repetidos no XML para "Ana" são corretamente convertidos em um array["Bia", "Maitê"]dentro do objeto do hóspede. A sintaxe JSON (chaves{}para objetos, colchetes[]para arrays, aspas duplas""para chaves e valores de string, dois pontos:para separar chave-valor, e vírgulas,para separar itens) está impecável. A "pegadinha" aqui é que o XML fornecido mostra apenas "Ana", mas a resposta correta inclui "Thomas", testando a compreensão de que múltiplos elementos<Hospede>seriam representados como um array de objetos. - (B) Incorreta: A sintaxe está incorreta para JSON. Usa
<e>como delimitadores de objeto (característicos de XML) e usa ponto e vírgula;em vez de vírgula,para separar itens e em vez de dois pontos:para separar chave-valor. - (C) Incorreta: A estrutura inicial está errada. JSON deve começar com um objeto
{}ou um array[]. Começar com["Pessoa": ...]é inválido, pois "Pessoa" é uma chave, não um item de array. Além disso,["Nome":"Thomas"]é uma sintaxe inválida para um objeto dentro de um array; deveria ser{"Nome":"Thomas"}. - (D) Incorreta: Apresenta múltiplos erros de sintaxe. Faltam os dois pontos
:após as chaves"Pessoa"e"Hospede". Usa ponto e vírgula;em vez de dois pontos:para separar chave-valor (ex:"Nome";"Thomas"). Usa parênteses()em vez de colchetes[]para o array deAcompanhantes. - (E) Incorreta: Mistura sintaxe XML (
<"Pessoa" ... />) com JSON inválido. Faltam os dois pontos:após a chave"Pessoa". Usa ponto e vírgula;em vez de dois pontos:para separar chave-valor (ex:"Nome";"Thomas"). Usa parênteses()em vez de colchetes[]para o array deAcompanhantes.
Fonte: FGV TJ-AP 2024 Analista Judiciário - TI - Desenvolvimento de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.