Questão nº 32
Questão de Tecnologia da Informação · FGV CVM 2024 (nº 32)
O formato JSON é utilizado, por padrão, para a transmissão de dados nos Web Services REST. Nesse sentido ele é diferente do SOAP, que utiliza o formato XML. Observe o trecho XML a seguir.
```xml
<usuario>
<codigo>101</codigo>
<nome>Ana Maria</nome>
<setores>
<setor>Financeiro</setor>
<setor>Comercial</setor>
</setores>
</usuario>
```
A representação da mesma entidade no formato JSON seria:
- A{"usuario": 101, "Ana Maria"; "setores": "Financeiro", "Comercial"}
- B["codigo": 101,"nome": "Ana Maria", "setor": "Financeiro", "setor": "Comercial"]
- C{"codigo": 101,"nome": "Ana Maria", "setores": ["Financeiro", "Comercial"]} (alternativa correta)
- D[{"codigo": "101","nome": "Ana Maria"}, {"setores": ["Financeiro", "Comercial"]}]
- E{"codigo": "101","nome": "Ana Maria", "setores": {"Financeiro", "Comercial"}}
Resposta comentada
Gabarito Alternativa C
JSON (JavaScript Object Notation) é um formato leve para troca de dados, que organiza as informações em pares de `chave: valor` e listas de itens, como se fosse uma lista de compras ou um dicionário.
(A) Incorreta: A sintaxe JSON está incorreta. Faltam chaves para os valores "Ana Maria", e o ponto e vírgula não é um separador válido em JSON (usa-se vírgula). Além disso, a estrutura não reflete corretamente o XML, pois "usuario" é um objeto, não um valor.
(B) Incorreta: A estrutura principal está errada, pois `[...]` indica um array (uma lista de itens), mas o XML representa um único objeto "usuario". Além disso, ter chaves repetidas ("setor") dentro de um mesmo objeto JSON é inválido.
(C) Correta: Esta é a representação correta. O elemento `<usuario>` é mapeado para o objeto JSON `{...}`. Os elementos `<codigo>` e `<nome>` são mapeados para pares `chave: valor`. O elemento `<setores>` que contém múltiplos elementos `<setor>` é mapeado para uma chave `"setores"` cujo valor é um array `[...]` contendo os valores de cada `<setor>`.
(D) Incorreta: A estrutura principal está errada. `[...]` indica um array de objetos, mas o XML representa um único objeto "usuario" com todas as suas propriedades. Aqui, as propriedades do usuário foram divididas em dois objetos separados dentro de um array, o que não corresponde à estrutura original.
(E) Incorreta: Esta é a armadilha mais comum. Embora `{"codigo": "101","nome": "Ana Maria"}` esteja correto para as primeiras partes, a representação de `setores` está errada. `{...}` em JSON define um objeto (pares `chave: valor`), não uma lista simples de valores. Para uma lista de valores como "Financeiro" e "Comercial", o correto é usar um array `[...]`. A forma `{"Financeiro", "Comercial"}` não é uma sintaxe JSON válida para um objeto ou array.
Fonte: FGV CVM 2024 Analista CVM - TI Sistemas e Desenvolvimento (Perfil 8) (Caderno Tipo 1). Reproduzida para fins de estudo.