我在格式化slackbot响应时遇到问题。 slactbot通过botkit(https://github.com/watson-developer-cloud/botkit-middleware)与Watson对话连接。非常感谢
我的最终目标是将JSONArray格式化为响应中的列表。但是我找不到任何东西。我什至无法输出带有'\ n'或'\\ n'的换行符。在Watson仪表板上,我将输出以下内容:
我注意到您购买了:$ e_list.join('\ n')
最佳答案
您需要在代码中将此“ \ n”设置为有效。喜欢:
response = "Lets see here...\n" + \
"I've found these recipes: \n"
因此,在Watson内部,这里可能发生的一个细微错误是使用单引号而不是双引号。这还具有将换行符呈现为
\n
的效果,因此,您需要设置"
并将\n
添加到上下文变量中,例如:Here's a list I made just for you: <? $s_list.join('') ?>
在JSON Advance中,请参见我的示例:
{
"context": {
"s_list": [
"onion",
"\n",
"olives"
]
},
"output": {
"text": {
"values": [
"Here's a list I made just for you: <? $s_list.join('') ?>"
],
"selection_policy": "sequential"
}
}
}
观察:最好的想法是为此使用代码,并且不会产生更多的工作。像来自一个IBM Developer的示例一样,它使用Slack内部的Watson对话。检查here。
Obs II .:我尝试在数组的每个值中添加\ n,并且松弛内部的输出看起来像:
onion\nolives
并且无法识别\n
,我不确定原因,但是,可能是另一个IBM Developer专家可以详细说明。但是,也许这是因为是一个数组而不是一个String,请检查此slack question。图片内部松弛:
关于node.js - 沃森对话-松弛型机器人,textformatting,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45267431/