无法从对象中提取json属性

f5emj3cl  于 2021-10-10  发布在  Java
关注(0)|答案(1)|浏览(285)

我有这个密码

request(options, (error, response) => {
  const data = JSON.parse(response.body)
  //console.log( JSON.stringify(data, null, " ") );
  console.log(data);
})

这给了我这个输出

{
 result: 'OK',
 data: {
   body: {
     pdpHeader: [Object],
     overview: [Object],
     hotelWelcomeRewards: [Object],
     propertyDescription: [Object],
     guestReviews: [Object],
     atAGlance: [Object],
     hotelBadge: [Object],
     unavailable: {}
  },
  common: { pointOfSale: [Object], tracking: [Object] }
  },
  transportation: { transportLocations: [ [Object], [Object], [Object] ] },
  neighborhood: { neighborhoodName: 'Manhattan' }
}

在该输出的实际主体中,有以下内容:

{4 items
"result":"OK"
"data":{2 items
    "body":{14 items
        "pdpHeader":{6 items
            "hotelId":"424023"
            "destinationId":"1506246"
            "pointOfSaleId":"HCOM_US"

我想叫旅馆ID号码:424023
我已经尝试了以下几个其他的修改,但似乎无法调用正确的对象

console.log(data.body.pdpHeader.hotelID)

但是我得到了错误信息

console.log(data.body.pdpHeader.hotelID);
                    ^

TypeError: Cannot read property 'pdpHeader' of undefined
soat7uwm

soat7uwm1#

你已经打电话给你的警察了 data 同样,所以您需要销毁或调用 .data 又是这样。

破坏

你可以在你的计算机上破坏这个属性 data 诸如此类:

const { data } = JSON.parse(response.body)
// data.body.pdpHeader.hotelID

分配

如果你不想破坏,打电话给我 data.data 如下所示。

const data = JSON.parse(response.body)
// data.data.body.pdpHeader.hotelID

相关问题