问题描述
使用 IBM 云功能,我调用了两个 Joke API。第一个给了我这些结果:
Results:
{
"response": {
"body": {
"body": [
{
"_id": "5f80ccd641785ba7c7d27bc0","punchline": "They always egg-cercise!","setup": "How do hens stay fit?","type": "general"
}
],"success": true
},
我想在 Watson 助手中打印妙语和设置,所以我尝试了以下代码:
$webhook_result_1.response.body.body.setup
和 $webhook_result_1.response.body.body.punchline
但两者都给我一个错误。当我使用 $webhook_result_1.response.body.body
时,我得到了这个:
[{"_id":"5f80ccd641785ba7c7d27c07","punchline":"A JOKE MACHINE!?","setup":"What do I look like?","type":"general"}]
所以我想我走对了。我做错了什么?
——
这是第二个笑话 API 的响应:
Results:
{
"response": [
{
"id": 299,"punchline": "The meat-ball.","setup": "Where do hamburgers go to dance?","type": "general"
}
]
}
我试过这个:$webhook_result_2.response.punchline
但效果不佳。
如何打印每个 API 的妙语和设置?
解决方法
[]
表示一个数组,因此需要对其进行索引。理想情况下,您应该检查一个数组以查看它至少有一个元素,然后遍历它,但是您的第一个元素(如果存在)将是:
$webhook_result_1.response.body.body[0].setup
根据对您的问题的评论,您似乎将左括号放在了错误的位置。