Questão nº 45
Questão de Tecnologia da Informação · FCC TRT17 2022 (nº 45)
Utilizando JavaScript, em condições ideais, um analista converteu os dados de Paulo Silva, de 50 anos, com renda de 1450.45, para string JSON, no formato abaixo.
`{"nome":"Paulo Silva","idade":50,"renda":1450.45}`
Tal conversão pode ser realizada por meio da instrução
- A`JSON.toStrings({nome: 'Paulo Silva', idade: 50, renda: 1450.45 })`
- B`document.toJSON("{nome: 'Paulo Silva', idade: 50, renda: 1450.45 }")`
- C`JSON.stringify({nome:new String('Paulo Silva'), idade: 50, renda: 1450.45})` (alternativa correta)
- D`document.parseToJSon("{nome: 'Paulo Silva', idade: 50, renda: 1450.45 }")`
- E`JSON.parse({nome:new String('Paulo Silva'), idade: 50, renda: 1450.45 })`
Resposta comentada
Gabarito Alternativa C
Para converter um objeto JavaScript em uma string JSON (texto formatado para troca de dados), usamos o método `JSON.stringify()`. Para converter uma string JSON de volta para um objeto JavaScript, usamos `JSON.parse()`.
(A) Incorreta: `JSON.toStrings` não é um método válido do objeto `JSON` em JavaScript. O método correto para serializar é `stringify`.
(B) Incorreta: `document` refere-se ao documento HTML e não possui um método `toJSON` para essa finalidade. Além disso, o argumento já é uma string, e o objetivo é converter um objeto para string JSON.
(C) Correta: A instrução `JSON.stringify()` é o método padrão e correto em JavaScript para converter um objeto JavaScript em uma string JSON. Embora `new String('Paulo Silva')` crie um objeto String (e não uma string primitiva), `JSON.stringify()` é inteligente o suficiente para serializá-lo corretamente como `"Paulo Silva"` na string JSON resultante.
(D) Incorreta: `document` não é o objeto correto, e `parseToJSon` não é um método JavaScript padrão. O método para parsing (converter de JSON para objeto) é `JSON.parse()`.
(E) Incorreta: `JSON.parse()` é usado para converter uma string JSON em um objeto JavaScript, e não o contrário. Além disso, ele espera uma string como argumento, não um objeto JavaScript. Armadilha: Esta é a alternativa mais tentadora, pois `JSON.parse` é um método real e o oposto de `JSON.stringify`, mas é usado para a conversão inversa (de string JSON para objeto JavaScript) e espera uma string como entrada, não um objeto.
Fonte: FCC TRT17 2022 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.