Pedro está desenvolvendo um programa que manipula dados do tipo Arrays (Vetores) no formato JSON. Para representar dados desse tipo, Pedro deve usar a sintaxe:
- A){"venda":true}
Errada, porque traz um valor booleano (true), e não um array em JSON.
- B){"nome":"John"}
Errada, porque representa um objeto com um par chave-valor, não uma lista.
- C){"idade":null}
Errada, porque null indica ausência de valor, não um vetor.
- D){"cadastro":["Joao", "Ana", "Pedro"]}
Certa, porque apresenta um array JSON entre colchetes com vários elementos de texto.
- E){"pessoa":{"nome":"Joao", "idade":30, "estado":"ES"}}
Errada, porque é um objeto aninhado com vários campos, não um array.
Gabarito: D
No JSON, cada tipo de dado tem sua sintaxe: textos ficam entre aspas, números aparecem sem aspas, verdadeiro/falso usam true/false, nulo usa null, objetos usam chaves e listas usam colchetes. Quando a banca fala em Array (Vetor), ela quer uma estrutura ordenada de valores, separados por vírgula, dentro de colchetes: ["Joao", "Ana", "Pedro"]. Perceba a diferença: chaves { } indicam objeto, isto é, um conjunto de pares chave:valor; colchetes [ ] indicam array, isto é, uma lista de elementos. Então, se o enunciado pede dados do tipo Arrays no formato JSON, a resposta precisa mostrar uma lista, não um objeto com campos nomeados. A alternativa D está correta porque traz a chave "cadastro" associada a um array de nomes, exatamente a ideia de vetor/lista no JSON. Os elementos do array estão separados por vírgulas e todos são strings válidas, o que torna a sintaxe correta. Em provas, vale decorar esse mapa mental: objeto = { }, array = [ ], texto = "", booleano = true/false e nulo = null. Essa distinção é muito cobrada por bancas como a FGV, que adora trocar o tipo pedido por uma estrutura parecida para testar se você sabe diferenciar lista de objeto.