A técnica Joana é responsável pela manutenção do arquivo processos.json, que possui o seguinte conteúdo no formato JavaScript Object Notation (JSON): { "processosPorMunicipio": [ {"nome": "Pedrinhas", "qtd": 33144}, {"nome": "Telha", "qtd": 48958} ]} Joana deve adicionar ao array processosPorMunicipio um novo objeto, relacionado ao Município de Riachuelo, com os atributos nome e qtd. Porém, Joana ainda não dispõe da quantidade de processos de Riachuelo. Para adicionar o novo objeto sem omitir atributos, Joana deve utilizar o valor previsto na notação JSON para ausência de informação. Logo, Joana deve definir o valor do atributo qtd do novo objeto como:
- A)0;
Errada, porque 0 indica quantidade existente e igual a zero, não ausência de informação.
- B)null;
Certa, porque null é o valor previsto em JSON para representar ausência de dado ou valor desconhecido.
- C)NaN;
Errada, porque NaN é um valor especial de JavaScript para "não é um número" e não é um literal válido em JSON.
- D)zero;
Errada, porque "zero" é texto, não um valor numérico ou o marcador de ausência usado em JSON.
- E)undefined.
Errada, porque undefined é típico de JavaScript, mas não pertence ao padrão JSON.
Gabarito: B
Em JSON, quando você quer representar que um dado ainda não foi informado ou está ausente, o valor adequado é null. Ele funciona como um marcador de inexistência de valor naquele campo, sem confundir com número, texto ou lista. É uma escolha muito comum em provas quando o enunciado fala em "ausência de informação". No caso da questão, Joana quer inserir o objeto de Riachuelo sem omitir o atributo qtd. Como ela ainda não sabe a quantidade de processos, precisa preencher esse campo com um valor que indique explicitamente que a informação não está disponível no momento. Em JSON, esse papel é do null. Isso difere de 0, que é um número válido e indica quantidade zerada, e também difere de undefined, que é um conceito do JavaScript, mas não faz parte do padrão JSON. Na prática de prova, a banca costuma cobrar essa distinção: JSON tem null; JavaScript tem undefined. Por isso, o gabarito é a letra B. O atributo qtd deve receber null, pois isso representa corretamente a ausência de informação sem inventar um valor numérico.