Chatfuel不会解析JSON-API返回的整个json字符串。 欢迎任何帮助。
虽然从API返回的JSON看起来像这样(在postman中):
{
"messages": [
{
"text": "i think you should study"
},
{
"text": "Mikrobiologi"
}
]
}
messenger bot只发送第一个文本。
我的应用代码:
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});
});
});
我尝试更改顺序,在返回的字符串之前和之后添加更多硬编码文本。
在邮递员中,一切看起来都应该如此,但是聊天装置似乎没有解析插入书籍标题的文本对象。
答案 0 :(得分:0)
看起来你的代码是正确的。
请确保您在不使用answer.then(function(books){
下的邮递员的情况下获取HTTP request.debug图书值的参数
在这里,我可以在纯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);