我正在使用 node js 进行 API 调用,并且得到了以下字符串类型的响应(我这样做时就知道了typeOf
)。
{
"metadata": {
"provider": "Press"
},
"results": [
{
"senses": [
{
"definitions": [
"this is an animal"
]
}
]
}
]
}
从这个响应中我需要 pull this is an animal
,我正在尝试使用下面的代码片段获取数据。
console.log(JSON.parse(body.results[0].senses[0].definitions[0]));
但这给了我如下错误
console.log(JSON.parse(body.results[0].senses[0].definitions[0]));
^
TypeError: Cannot read property '0' of undefined
请让我知道我哪里出错了,我该如何解决这个问题。
谢谢
您正在尝试解析对象的内容,该内容还不是 JSON 对象。在尝试访问它的内容之前,您需要解析整个“body”变量。
试试这个:
body = JSON.parse(body);
console.log(body.results[0].senses[0].definitions[0]);
您也可以只在一行中完成所有操作,但我不建议这样做,因为您可能想在之后使用此变量:
console.log(JSON.parse(body).results[0].senses[0].definitions[0]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句