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

146
Visualizações
Cómo acceder a los datos de JSON

Estoy accediendo a los valores de un objeto dentro de una matriz dentro de un objeto. A continuación se muestra el formato de los datos:

 [{ "id": "99a4e6ef-68b0-4cdc-8f2f-d0337290a9be", "stock_name": "Just Energy Group, Inc.", "shareholders": [{ "userId": "e9328bb2-81ac-4e86-9ec8-520b1909cc9b", "number_of_shares": 266 }, { "userId": "d42ff6a6-9b2f-4561-ac2e-0cf2bb170430", "number_of_shares": 389 }] }]

A continuación se muestra mi código para obtener datos de github usando axios e imprimir la identificación del usuario:

 const axios = require('axios') require("util").inspect.defaultOptions.depth = null; async function getStocks(){ const { data } = await axios.get('https://gist.githubusercontent.com/graffixnyc/8c363d85e61863ac044097c0d199dbcc/raw/7d79752a9342ac97e4953bce23db0388a39642bf/stocks.json') return data // this will be the array of people objects } async function listShareholders() { let c=[] let a = await getStocks(); for(i=0;i<a.length;i++){ for(j=0;j<a[i].shareholders;j++) c.push((a[i].shareholders[j].userId)) } return c } async function bc(){ const address = await listShareholders() console.log(address) } bc()

No estoy seguro de por qué no obtengo ningún resultado.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

editado

Estoy editando para incluir el código de la respuesta original (no publicada por mí) que desapareció

En for(j=0;j<a[i].shareholders;j++) está comparando un number con un Array . Este es el código adecuado:

 for(i=0;i<a.length;i++){ for(j=0; j < a[i].shareholders.length; j++) c.push((a[i].shareholders[j].userId); }

Mi respuesta

Como se señaló en for(j=0;j<a[i].shareholders;j++) está comparando un number con un Array .

La solución propuesta funciona, pero ten en cuenta que puedes hacerlo en una sola línea:

 const c = a.flatMap(obj => obj.shareholders.map(s => s.userId));
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