2017-07-23 39 views
0

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

我的最终目标是将JSONArray格式化为响应中的列表。但我找不到任何关于它的事情。我甚至无法用'\ n'或'\\ n'输出换行符。在沃森仪表板,我想输出是这样的:

我注意到,你去:e_list.join $(“\ n”)

回答

1

你需要这个“\ n”你的代码中设置作品。像:

response = "Lets see here...\n" + \ 
      "I've found these recipes: \n" 

因此,在沃森内部,这里可能发生的一个微妙的错误是使用单引号而不是双引号。这也有渲染换行符\n,比,你需要用"设置并添加\n您的上下文变量里面,等的影响:

Here's a list I made just for you: <? $s_list.join('') ?> 

和你的JSON提前里面,看到我的例子:

{ 
    "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中使用Watson对话内部的例子。检查here

观测数据II:我尝试添加从阵列中的每个值和内部松弛输出好像里面的\ N:onion\nolives,并且不承认\n,我不知道原因,但另一个可能IBM Developer Specialist可以更多地解释这一点。但是,也许这是因为是一个数组而不是一个字符串,请检查此slack question

图片里面松弛:

enter image description here

+0

双引号并没有真正内沃森 工作,我有这样的事情:“这是我为你做一个列表:<?$ s_list.join (“\ n”)?>“但它给出了错误 – soulless

+0

请检查我的编辑细节,请 –