我的Alexa技能出现此错误
{ “ errorMessage”:“将圆形结构转换为JSON”, “ errorType”:“ TypeError”, “堆栈跟踪”: [ “ JSON.stringify()”, “ exports.handler(/var/task/index.js:195:35)”, ” ] }
当我尝试将项目放入DynamoDB数据库中时,下面是一些代码:
const awsSDK = require('aws-sdk');
const Alexa = require('ask-sdk');
const promisify = require('es6-promisify');
awsSDK.config.update({region: 'us-west-2'});
var ddb = new awsSDK.DynamoDB.DocumentClient();
和
var params = {
TableName:"habits",
Item:{
"year": "year",
"title": "title",
"info":{
"plot": "Nothing happens at all.",
"rating": 0
}
}
};
和
return ddb.put(params, function(err, data) {
if (err) {
console.log("Error", err);
return handlerInput.responseBuilder
.speak('error')
.withSimpleCard('Sure', speechText)
.getResponse();
} else {
console.log("Success", data);
return handlerInput.responseBuilder
.speak(speechText)
.withSimpleCard('Sure', speechText)
.getResponse();
}
});
答案 0 :(得分:0)
根据错误消息判断,您正在尝试提交具有圆形结构的对象。因此遇到了JavaScript structures that include circular references can't be serialized with a plain JSON.stringify的问题。
我会深入研究您的对象。
或者,您可以尝试BotTalk。您可以使用简单的标记语言来创建非常复杂的Alexa技能。免费提供AND数据库。