这个NodeJS API是否正确完成? – Chatfuel不会按照预期parsing它

Chatfuel不parsingJSON-API返回的整个jsonstring。 任何帮助是受欢迎的。

虽然从API返回的JSON看起来像这样(在邮递员):

{ "messages": [ { "text": "i think you should study" }, { "text": "Mikrobiologi" } ] } 

信使机器人只发送第一个文本。

我的应用程序代码:

 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}); }); }); 

我试着改变顺序,在返回的string之前和之后添加更多的硬编码文本。

在邮递员一切看起来应该,但chatfuel似乎并没有parsing与插入书名的文本对象。

它看起来像你的代码是正确的。 请确保你正在获取参数与HTTP request.debug书的价值,而不使用answer.then(function(books){answer.then(function(books){

在这里,我可以在纯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);