1

我在格式化 slackbot 响应时遇到问题。slactbot 通过 botkit ( https://github.com/watson-developer-cloud/botkit-middleware ) 与 watson 对话连接。非常感谢

我的最终目标是将 JSONArray 格式化为响应中的列表。但我找不到任何关于它的信息。我什至不能输出带有 '\n' 或 '\\n' 的换行符。在 Watson 仪表板上,我会输出如下内容:

我注意到您购买的是:$e_list.join('\n')

4

1 回答 1

2

您需要在代码中设置此“\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"
    }
  }
}

Obs.:最好的想法是使用代码来做这件事并且不会产生更多的工作。就像一位 IBM 开发人员在 slack 中使用 Watson 对话的示例一样。在这里检查。

Obs II.:我尝试在数组的每个值中添加 \n ,并且 slack 中的输出看起来像:onion\nolives并且不识别\n,我不确定原因,但是,可能另一位 IBM 开发人员专家可以对此进行更多解释. 但是,也许这是因为是一个数组而不是一个字符串,请检查这个松弛问题

松弛内部的图像:

在此处输入图像描述

于 2017-07-24T02:43:03.387 回答