无法获得 JSON 值响应

用户3872094

我正在使用 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章