首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个NodeJS API做得对吗?- Chatfuel不按预期解析它

这个NodeJS API做得对吗?- Chatfuel不按预期解析它
EN

Stack Overflow用户
提问于 2017-08-04 08:33:57
回答 1查看 248关注 0票数 1

Chatfuel不解析json返回的整个JSON字符串。欢迎任何帮助。

虽然从API返回的JSON如下所示(在postman中):

代码语言:javascript
复制
{
    "messages": [
        {
            "text": "i think you should study"
        },
        {
            "text": "Mikrobiologi"
        }
    ]
}

信使机器人只发送第一条短信。

我的应用程序代码:

代码语言:javascript
复制
router.get('/ask/:question', function(req, res){
  var output = [];
  var keywords = req.params.question.split(' ');
  var answer = qHandler.search(keywords);
  answer.then(function(books){
    output.push({text: 'i think you should study'})
    for (var i = books.length; i > 0; i--){
      output.push({text: books[i-1].title});
      if (i-1 > 0){
        output.push({text: ' and '});
      }
    };
    res.send({messages: output});
  });
});

我尝试更改顺序,在返回字符串之前和之后添加更多硬编码文本。

在“邮递员”中,一切看起来都是应该的,但是聊天似乎不解析插入书名的文本对象。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-04 08:50:53

看起来你的代码是正确的。请确保在不使用answer.then(function(books){下的邮递员的情况下,使用HTTP值获取参数。

这里的我可以在纯javascript中完成这段代码

代码语言:javascript
复制
var books = [
    {
        title: 'asdfasdf'
    },{
        title: 'asdfasdf'
    },{
        title: 'asdfasdf'
    },{
        title: 'asdfasdf'
    },{
        title: 'asdfasdf'
    }]

var output = [];
output.push({ text: 'i think you should study' })
for (var i = books.length; i > 0; i--) {
    output.push({ text: books[i - 1].title });
    if (i - 1 > 0) {
        output.push({ text: ' and ' });
    }
};
console.log(output);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45501964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档