如何响应 IBM Watson Assistant 中的动态选项?

How to respond with dynamic options in IBM Watson Assistant?

我的 webhook returns 一个元素数组。我需要让 IBM Watson Assistant 响应这些元素作为用户的选项。

我怎样才能做到这一点?

IBM Watson Assistant answer with options is documented 的 JSON 结构。您已经提到您的 webhook 返回了一个元素数组。它需要匹配该结构。

现在,在您的对话框中,您需要将该选项数组 myOptionsArray 添加到您的输出中。假设数组数据存储在变量 myvar 中,使用这样的东西:

<? output.generic.addAll($myvar.myOptionsArray) ?>

通用指的是 generic JSON output format - 与集成 JSON 格式形成对比。上面的表达式可以放在响应中或某些中间赋值中。它可能需要一些试验但有效...

@data_henrik 回复很有帮助,但有点含糊。所以,我想 post 我自己的答案。我对我的函数进行了一些更改,以便它的结果 returns 与选项格式匹配,如下图所示。

正如@data_henrik 所建议的那样,我将该结果存储在名为 myOptions 的上下文变量中,并像 :

一样使用它
<? output.generic.addAll($myOptions) ?>