未处理的承诺拒绝导致加载错误

时间:2020-05-01 23:13:40

标签: javascript node.js

我正在尝试访问JSON对象,它是对象的对象

{
   "status":"ok",
   "data":{
      "aqi":95,
      "idx":7024,
      "dominentpol":"pm25",
      "iaqi":{
         "dew":{
            "v":20
         },
         "h":{
            "v":69
         },
         "p":{
            "v":1004.5
         }
         ...
      }
   }
}

我想访问“ iaqi”对象中的值中存在的num值,但是当我尝试访问 response.body.iaqi 时,收到未处理的Promise拒绝警告,并且本地主机卡住了在加载时。我尝试过

 var aqi = JSON.parse(response_body);
    console.log(aqi);
    const result = Object.values(aqi).map(Object.values).flat(); 

但是没有提供我所需的期望值。任何帮助将不胜感激,如果我今天才加入,请告诉我我是否正确提出了问题:)

1 个答案:

答案 0 :(得分:2)

假设response_body包含您的JSON对象。您应该尝试以下操作:

Object.values(response_body.data.iaqi).map(({v}) => v)

或者您可以使用这个:

var res = []
for (var key in response_body.data.iaqi) {
  res.push(response_body.data.iaqi[key].v)
}

如果您直接定位浏览器