Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

140
Visualizações
No se pueden recuperar elementos específicos de JSON api

Implemente una función fetchDataForUser, que obtiene datos de una API JSON remota y luego devuelve una parte de ellos.

Dado que se trata de una llamada de red, deberá ser una función asíncrona y devolver los datos a través de una devolución de llamada.

Datos JSON: https://gist.githubusercontent.com/kvirani/f7d65576cc1331da1c98d5cad4f82a69/raw/4baad7566f0b6cd6f651c5d3558a015e226428b5/data.json

La devolución de llamada debe llamarse con dos argumentos:

  1. error: si la solicitud regresa con un error, páselo a esta devolución de llamada. de lo contrario, establezca esto en nulo
  2. datos: si no hay ningún error, este debería ser el objeto que representa las ganancias y pérdidas para el nombre de usuario dado. Si hay un error, esto debe establecerse en nulo.

*/

 const fetchDataForUser = function (url, username, callback) { request(url, (err, res, body) => { if (err) { callback(err, null); } const data = JSON.parse(body); for (let key in data) { console.log(data[key]); if (data[key] === username){ return key } callback(null, data); }); };

Devuelve la lista correcta de datos del archivo json: usuarios: { mr_robot: { victorias: 5, pérdidas: 2 }, teddy_b: { victorias: 0, pérdidas: 3 } }

Pero necesito recuperar elementos específicos al ingresar el nombre de usuario: "Mr Robot", por ejemplo

 + "losses": 2 + "wins": 5

Código de controlador de prueba

 fetchDataForUser(url, 'mr_robot')
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puedes hacer esto sin un bucle for.

En mi siguiente ejemplo, la línea que realmente importa es la información del usuario:

 let userdata = (data["users"][username]) ? data["users"][username]: [];

Básicamente, busca ver si el nombre de usuario existe en los datos, si es así, devuelve los datos de ese usuario, si no, devuelve una matriz vacía.

 let data = { "users": { "mr_robot": { "wins": 5, "losses": 2 }, "teddy_b": { "wins": 0, "losses": 3 } } }; let username = "mr_robot"; let userdata = (data["users"][username]) ? data["users"][username]: []; console.log(userdata)

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda