Javascript 如何正确地反序列化响应格式
这是调用AWS Lambda函数后出现的错误: 出现错误:无效的Lambda响应:收到来自Lambda的无效响应:无法构造IntentResponse的实例:没有字符串参数构造函数/工厂方法从字符串值反序列化('Thank,您的比萨饼已订购。'),位于[Source:“Thank,您的比萨饼已订购。”。行:1,列:1]Javascript 如何正确地反序列化响应格式,javascript,node.js,amazon-web-services,aws-lambda,amazon-lex,Javascript,Node.js,Amazon Web Services,Aws Lambda,Amazon Lex,这是调用AWS Lambda函数后出现的错误: 出现错误:无效的Lambda响应:收到来自Lambda的无效响应:无法构造IntentResponse的实例:没有字符串参数构造函数/工厂方法从字符串值反序列化('Thank,您的比萨饼已订购。'),位于[Source:“Thank,您的比萨饼已订购。”。行:1,列:1] 看起来您从以下示例文档中获取了响应: "dialogAction": { "type": "Close", "fulfillmentState": "Fulfil
看起来您从以下示例文档中获取了响应:
"dialogAction": {
"type": "Close",
"fulfillmentState": "Fulfilled or Failed",
"message": {
"contentType": "PlainText or SSML",
"content": "This example won't work as is."
}
}
许多人犯了同样的错误,但对于fulfillmentState
和contentType
,您必须选择此处显示的一个或另一个示例值,并且与正确的大小写完全相同
因此,为了澄清:
将fulfillmentState
设置为completed
或Failed
及
将消息的contentType
设置为PlainText
或SSML
"dialogAction": {
"type": "Close",
"fulfillmentState": "Fulfilled",
"message": {
"contentType": "PlainText",
"content": "This is a proper example response."
}
}
我认为这是在说它期望一个
IntentResponse
,但您提供的是一个字符串。很难知道您在做什么,因为您没有显示任何代码,但我认为您正在使用。Try:返回响应代码>感谢您的回复,它只是将contentType设置为纯文本
"dialogAction": {
"type": "Close",
"fulfillmentState": "Fulfilled",
"message": {
"contentType": "PlainText",
"content": "This is a proper example response."
}
}