我在格式化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-LMLPHP

关于node.js - 沃森对话-松弛型机器人,textformatting,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45267431/

10-10 04:26