Executando verificação de segurança...
6

Olá,

No primeiro then:

.then((resp) => resp.json())

você está parseando a resposta da sua API para JSON. No segundo:

.then(function(data) { ...

Você recebe data e esse valor já é um JSON. o fato de você realizar um JSON.stringfy(data) faz com que ele vire uma string.

'{"página1":[{"id":2,"nomeUsuario":"Roberto","senhaUsuario":55555},{"id":3,"nomeUsuario":"Gabriel","senhaUsuario":546165},{"id":4,"nomeUsuario":"Roh","senhaUsuario":6465},{"id":5,"nomeUsuario":"Robertoo","senhaUsuario":645572}]}'

Supondo que o resultado desejado seja o array que responde à chave página:

{
  "página1": [
    { "id": 2, "nomeUsuario": "Roberto", "senhaUsuario": 55555 },
    { "id": 3, "nomeUsuario": "Gabriel", "senhaUsuario": 546165 },
    { "id": 4, "nomeUsuario": "Roh", "senhaUsuario": 6465 },
    { "id": 5, "nomeUsuario": "Robertoo", "senhaUsuario": 645572 }
  ]
}

você pode simplesmente, no segundo then acessar ele, ou seja:

fetch(...)
    .then(resp => resp.json())
    .then(data => {
        const pagina1 = data['página1']; // => (4) [{…}, {…}, {…}, {…}];
    	console.table(pagina1);
        
        // cada elemento poderia ser acessado facilmente agora. Por exemplo:
        console.log(pagina1[0].id) // => 2
        console.log(pagina1[0].nomeUsuario) // => 'Roberto'
        console.log(pagina1[0].senhaUsuario) // => 55555
        
        // ou, um array para cada conjunto de dados, ids.. nomes.. senhas..
        const ids = pagina1.map(inf => inf.id); 
        const nomes = pagina1.map(inf => inf.nomeUsuario); 
        const senhas = pagina1.map(inf => inf.senhaUsuario); 
        
        console.log('IDs: ', ids); // => IDs: (4) [2, 3, 4, 5]
        console.log('Nomes: ', nomes); // => Nomes: (4) ['Roberto', 'Gabriel', 'Roh', 'Robertoo']
        console.log('Senhas: ', senhas); // => Senhas: (4) [55555, 546165, 6465, 645572]
    });

Sem necessidade da utilização do método JSON.stringify. Mas, vai muito do que você realmente precisa.

Espero ter ajudado.

Carregando publicação patrocinada...
3

Uma sugestão para deixar mais performático seria substituir os 3 .maps por um .reduce e desestruturar os dados no retorno do reduce.

Assim o array seria iterado uma única vez e não três.

Estou no celular, a idéia seria algo como:

const { ids, nomes, senhas } = pagina1.reduce((data, item) => {
  // passa os dados pra dentro de cada propriedade do data
}, {
  ids: [],
  nomes: [],
  senhas: []
})
1

Boa observação. Usei vários maps ali apenas para simplificar os exemplos mas com o reduce realmente da uma boa enxugada no código. Valeu!

1
2

Ajudou bastante, obrigado <3

Pensei que precisasse primeiro transformar em string, para assim o Js conseguir ler e me retornar com os valores, mas pelo visto não há necessidade

1