[英]NodeJS API Request - parsed JSON Data
我有这个请求,它为我提供了 JSON 语法
request( url, function (error, response) {
console.log(JSON.parse(response.body))
这会在控制台中生成以下内容:
{
query: 'Manchester Holiday Inn',
moresuggestions: 2,
suggestions: [
{ group: 'CITY_GROUP', entities: [] },
{ group: 'HOTEL_GROUP', entities: [Array] },
{ group: 'LANDMARK_GROUP', entities: [] },
{ group: 'TRANSPORT_GROUP', entities: [Array] }
]
}
在 HOTEL GROUP 语法中有一些附加信息:
{
"query":"Manchester Holiday Inn",
"moresuggestions":0,
"suggestions":[
{},
{
"group":"HOTEL_GROUP",
"entities":[
{
"geoId":"16071381",
"destinationId":"4234234",
"type":"HOTEL",
"caption":"Manchester Holiday Inn Hotel",
"name":"Manchester Holiday Inn Hotel"
}
]
},
我想提取目的地ID和酒店名称
request( url, function (error, response) {
const data = JSON.parse(response.body)
hotelName = data['suggestions[1].entities[0].name'],
hotelID = data["suggestions[1].entities[0].destinationId"]
console.log(hotelName)
console.log(hotelID)
但是控制台的输出显示hotelName 和hotelID 未定义。 不知道我做错了什么。
undefined
undefined
您可以像这样访问它
data["suggestions"][1]["entities"][0][name]
您用于访问属性的语法是错误的 – 您需要
const hotelName = data.suggestions[1].entities[0].name
const hotelID = data.suggestions[1].entities[0].destinationId
反而。
您还可以使用对象解构,如下所示:
const {name: hotelName, destinationId: hotelID} = data.suggestions[1].entities[0];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.