A analista Deise recebeu a tarefa de mapear uma tabela de banco de dados para um arquivo no formato JavaScript Object Notation (JSON). Após analisar a estrutura da tabela, Deise concluiu que a melhor estratégia de mapeamento consiste em associar cada valor da tabela a um dos três nomes literais previstos como valores válidos na notação JSON. Ao executar essa estratégia, Deise deve associar cada valor da tabela a um dos nomes literais:
- A)true, false, null;
Correta, pois true, false e null sao os tres literais reservados e validos em JSON.
- B)True, False, Null ;
Errada, porque JSON exige os literais em minusculo; True, False e Null nao sao validos.
- C)True, False, Undefined;
Errada, porque True e False estao com maiuscula e Undefined nao e literal valido em JSON.
- D)infinite, nan, undefined;
Errada, porque infinite, nan e undefined nao sao literais definidos pela especificacao JSON.
- E)Infinite, NaN, Undefined
Errada, porque Infinite, NaN e Undefined nao fazem parte dos valores literais validos em JSON.
Gabarito: A
No JSON, voce tem um conjunto bem pequeno de valores literais reservados, isto e, palavras que representam tipos especiais de dado. Quando a ideia e mapear informacoes que podem ser verdadeiras, falsas ou ausentes, os literais aceitos pela especificacao sao exatamente true, false e null. Eles aparecem em minusculo, sem aspas, porque fazem parte da sintaxe da linguagem JSON, e nao sao textos comuns. Isso faz toda a diferenca em questoes de prova: JSON nao segue a escrita de muitas linguagens de programacao que usam maiusculas, nem aceita variações criativas. Se voce escrever True, False, Null, isso deixa de ser JSON valido. O mesmo vale para formas como undefined, NaN ou Infinite, que podem existir em outras linguagens, mas nao sao literais validos de JSON. A base disso esta na propria especificacao do JSON, padronizada na RFC 8259. Ela define que os valores literais reservados sao apenas true, false e null. Ou seja, a banca quer que voce reconheca a diferenca entre o que e valido em JSON e o que existe em JavaScript ou em outras linguagens de programacao. Por isso o gabarito e a alternativa A. Ela traz exatamente os tres nomes literais previstos pelo padrao JSON, sem maiusculas e sem termos que nao pertencem a esse formato. Em resumo: quando a tabela tem valor booleano ou nulo, voce converte para true, false ou null e pronto, sem inventar moda.