Questão nº 36
Questão de Tecnologia da Informação · CESGRANRIO BASA 01/2021 (nº 36)
Para transportar os dados de um sistema para outro, um programador recebeu a tarefa de transformar um arquivo CSV, gerado no primeiro sistema, para o formato JSON, suportado pelo segundo sistema.
Nesse contexto, considere o seguinte arquivo CSV:
```
nome;saldo
Ana Zurique;3000
Bernardo Washington;4500
Carlos York;12345
```
O fragmento de arquivo JSON válido que possui a mesma informação que o arquivo CSV apresentado acima é
- A```json
[
{
nome: "Ana Zurique",
saldo: 3000
},
{
nome: "Bernardo Washington",
saldo: 4500
},
{
nome: "Carlos York",
saldo: 12345
}
]
``` - B```json
[
{
"nome": "Ana Zurique",
"saldo": 3000
},
{
"nome": "Bernardo Washington",
"saldo": 4500
},
{
"nome": "Carlos York",
"saldo": 12345
}
]
``` (alternativa correta) - C```json
{
"Ana Zurique": {
saldo: 3000
},
"Bernardo Washington": {
saldo: 4500
},
"Carlos York": {
saldo: 12345
}
}
``` - D```json
{
nome:[Ana Zurique,Bernardo Washington,Carlos York],
saldo:[3000,4500,12345]
}
``` - E```json
[
[Ana Zurique,3000 ],
[Bernardo Washington,4500 ],
[Carlos York,12345 ]
]
```
Resposta comentada
Gabarito Alternativa B
Conceito-chave: JSON (JavaScript Object Notation) é um formato de texto para troca de dados que exige chaves (nomes) sempre entre aspas duplas ("nome") e valores que podem ser números (sem aspas) ou textos (entre aspas). Diferente do CSV, que usa separadores, o JSON organiza dados em objetos (dentro de {}) e arrays (dentro de []).
- (A) Incorreta: As chaves
nomeesaldoestão sem aspas duplas, o que torna o JSON inválido — em JSON, toda chave de objeto obrigatoriamente deve estar entre aspas duplas. - (B) Correta: É o único fragmento que segue a sintaxe JSON perfeitamente: um array de objetos, com chaves entre aspas duplas e valores numéricos sem aspas, preservando exatamente os dados do CSV (nome e saldo de cada pessoa).
- (C) Incorreta: A estrutura está errada: transforma os nomes em chaves e o campo
saldofica sem aspas (inválido). Além disso, perde a relação direta com o CSV, que tem duas colunas fixas (nomeesaldo), não uma chave por pessoa. - (D) Incorreta: Usa arrays paralelos (listas separadas), mas os valores de texto (
Ana Zurique) estão sem aspas, o que é inválido em JSON. Além disso, essa estrutura não representa fielmente cada registro como um objeto independente. - (E) Incorreta: É um array de arrays, mas os nomes estão sem aspas (inválido) e a estrutura não usa objetos com chaves
nomeesaldo, perdendo a semântica dos dados.
Armadilha da banca (no distrator mais tentador, a letra A): A alternativa A parece correta à primeira vista, pois tem a mesma estrutura da B. A pegadinha está na ausência de aspas nas chaves (nome e saldo). Muitos iniciantes confundem JSON com JavaScript, onde chaves sem aspas são permitidas em objetos. Porém, JSON é um formato estrito: sem aspas duplas nas chaves, o arquivo é inválido e nenhum parser JSON o aceitaria. A banca testa exatamente esse detalhe técnico.
Fonte: CESGRANRIO BASA 01/2021 Técnico Científico - Área de Formação: Tecnologia da Informação. Reproduzida para fins de estudo.