You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Watson Assistant中正确获取IBM Cloud Functions调用的两个笑话API的setup和punchline字段

解决Watson Assistant中调用笑话API的字段获取问题

嘿,我看到你在Watson Assistant里调用两个笑话API时遇到了字段获取的问题,核心原因是你忽略了返回结果里的数组结构——两个API的返回数据里,包含笑话内容的部分都是数组(用[]包裹),而不是单个对象,所以直接访问字段会报错。咱们一个个来解决:

第一个笑话API的正确字段访问方式

你提到调用第一个API后,$webhook_result_1.response.body.body返回的是:

[{"_id":"5f80ccd641785ba7c7d27c07","punchline":"A JOKE MACHINE!?","setup":"What do I look like?","type":"general"}]

这是一个单元素数组,里面才是包含笑话信息的对象。你之前直接写$webhook_result_1.response.body.body.setup,相当于在数组上直接访问对象字段,自然会报错。

正确的写法是先通过索引[0]取出数组里的第一个(也是唯一的)对象,再访问对应的字段:

  • 获取笑话铺垫:$webhook_result_1.response.body.body[0].setup
  • 获取笑话包袱:$webhook_result_1.response.body.body[0].punchline

第二个笑话API的正确字段访问方式

第二个API的返回结构里,response字段本身就是一个数组:

{ "response": [ { "id": 299, "punchline": "The meat-ball.", "setup": "Where do hamburgers go to dance?", "type": "general" } ] }

同样的道理,你需要先取数组的第一个元素,再访问字段:

  • 获取笑话铺垫:$webhook_result_2.response[0].setup
  • 获取笑话包袱:$webhook_result_2.response[0].punchline

你可以在Watson Assistant的对话框测试面板里验证这些表达式,应该就能正常打印出笑话的setup和punchline内容了。

内容的提问来源于stack exchange,提问作者Warkus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 04:39:06