\n\nPara que o nome Maria Bueno seja exibido no elemento da primeira linha (tag h1), o trecho tracejado deve ser substituído por:","inLanguage":"pt-BR","eduQuestionType":"Multiple choice","acceptedAnswer":{"@type":"Answer","text":"D) let xpto = '{\"alunos\":[' +\n'{\"nome\":\"Edson\",\"sobreNome\":\"Arantes\" },' +\n'{\"nome\":\"Maria\",\"sobreNome\":\"Bueno\" }]}';. A ideia aqui é simples: o código faz JSON.parse(xpto), então a variável xpto precisa conter uma string com JSON válido. Depois, o JavaScript acessa x.alunos[1].nome e x.alunos[1].sobreNome, ou seja, espera um objeto com a chave alunos, que seja um array, e que o segundo elemento desse array tenha os campos nome e sobreNome. Em JSON, chaves e valores de texto precisam estar entre aspas duplas, e a estrutura tem de bater exatamente com o acesso feito no script.\n\nNo caso, o trecho precisa criar uma variável chamada xpto com uma string JSON que tenha \"alunos\" contendo dois objetos. O segundo objeto deve ser {\"nome\":\"Maria\",\"sobreNome\":\"Bueno\"}, porque o índice [1] pega o segundo item do array. Assim, a concatenação no innerHTML resulta em \"Maria Bueno\".\n\nO gabarito D está correto porque define exatamente isso: let xpto = '{\"alunos\":[{\"nome\":\"Edson\",\"sobreNome\":\"Arantes\" },{\"nome\":\"Maria\",\"sobreNome\":\"Bueno\" }]}';. Repare que a variável tem o nome certo, o JSON está bem formado e a chave alunos existe com a posição 1 apontando para Maria Bueno. O resto é só o JavaScript fazendo o trabalho sem drama.\n\nNão há fundamento legal ou jurisprudencial aqui, porque é matéria de linguagem de programação e sintaxe de JSON, não de direito."},"suggestedAnswer":[{"@type":"Answer","text":"A) let '{\"alunos\":[' +\n'{\"nome\":\"Maria\",\"sobreNome\":\"Bueno\" },' +\n'{\"nome\":\"Edson\",\"sobreNome\":\"Arantes\" }]}';"},{"@type":"Answer","text":"B) let '{\"xpto\":[' +\n'{\"nome\":\"Edson\",\"sobreNome\":\"Arantes\" },' +\n'{\"nome\":\"Maria\",\"sobreNome\":\"Bueno\" }]}';"},{"@type":"Answer","text":"C) let alunos = '{\"xpto\":[' +\n'{\"nome\":\"Edson\",\"sobreNome\":\"Arantes\" },' +\n'{\"nome\":\"Maria\",\"sobreNome\":\"Bueno\" }]}';"},{"@type":"Answer","text":"E) let xpto = alunos '{[' +\n'{nome:\"Edson\",sobreNome:\"Arantes\" },' +\n'{nome:\"Maria\",sobreNome:\"Bueno\" }]}';"}]}← Questões de Programação

Programação · FGV · 2022

Questão comentada de Programação

Considere o trecho abaixo. <h1 id="teste"></h1> <script> ----- const x = JSON.parse(xpto); document.getElementById("teste").innerHTML = x.alunos[1].nome + " " + x.alunos[1].sobreNome; </script> Para que o nome Maria Bueno seja exibido no elemento da primeira linha (tag h1), o trecho tracejado deve ser substituído por:

Gabarito: D

A ideia aqui é simples: o código faz JSON.parse(xpto), então a variável xpto precisa conter uma string com JSON válido. Depois, o JavaScript acessa x.alunos[1].nome e x.alunos[1].sobreNome, ou seja, espera um objeto com a chave alunos, que seja um array, e que o segundo elemento desse array tenha os campos nome e sobreNome. Em JSON, chaves e valores de texto precisam estar entre aspas duplas, e a estrutura tem de bater exatamente com o acesso feito no script. No caso, o trecho precisa criar uma variável chamada xpto com uma string JSON que tenha "alunos" contendo dois objetos. O segundo objeto deve ser {"nome":"Maria","sobreNome":"Bueno"}, porque o índice [1] pega o segundo item do array. Assim, a concatenação no innerHTML resulta em "Maria Bueno". O gabarito D está correto porque define exatamente isso: let xpto = '{"alunos":[{"nome":"Edson","sobreNome":"Arantes" },{"nome":"Maria","sobreNome":"Bueno" }]}';. Repare que a variável tem o nome certo, o JSON está bem formado e a chave alunos existe com a posição 1 apontando para Maria Bueno. O resto é só o JavaScript fazendo o trabalho sem drama. Não há fundamento legal ou jurisprudencial aqui, porque é matéria de linguagem de programação e sintaxe de JSON, não de direito.

Continue treinando

Questões relacionadas