无法从对象提取JSON属性



我有这样的代码

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"

我要拨出酒店号码:424023

我尝试了以下几个其他修改,但似乎不能调用正确的对象

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

但是我得到错误信息

console.log(data.body.pdpHeader.hotelID);
^
TypeError: Cannot read property 'pdpHeader' of undefined

您已经调用了您的constdata,因此您要么需要销毁,要么需要再次调用.data,像这样。

破坏

你可以在你的dataconst上销毁属性,像这样:

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

如果您不想破坏,请按下面的方法调用data.data

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

最新更新