IBM Cloud Functions 在 Watson Assistant 中打印 API 响应 / node.js / json

IBM Cloud Functions printing API response in Watson Assistant / node.js / json

使用 IBM 云函数,我正在调用两个笑话 API。第一个给了我这些结果:

Results:
{
  "response": {
    "body": {
      "body": [
        {
          "_id": "5f80ccd641785ba7c7d27bc0",
          "punchline": "They always egg-cercise!",
          "setup": "How do hens stay fit?",
          "type": "general"
        }
      ],
      "success": true
    },

我想在 Watson Assistant 中打印妙语和设置,所以我尝试了以下代码: $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

根据对您问题的评论,您似乎将左括号放在了错误的位置。