2017-06-13 57 views
1

我想在sessionAttributes中坚持一个嵌套的对象。然而,似乎如果我在响应发送一个结构类似这样的亚马逊莱克斯不承认:亚马逊Lex的会话属性不允许嵌套对象?

{ 
    "sessionAttributes": { 
     "previousIntent": "TCAIntent", 
     "prevSlots": { 
      "test": 1 
     } 
    }, 
    "dialogAction": { 
     "type": "Delegate", 
     "slots": { 
      "firstName": null, 
      "lastName": null, 
      "rate": null, 
      "rentMortgage": null, 
      "downPayment": null, 
      "purchasePrice": null, 
      "email": null 
     } 
    } 
} 

当我用一个值替换{"test": 1},它工作正常。有没有办法解决这个问题或者可能的错误?

错误:

enter image description here

回答

2

我已想出的是莱克斯不允许存储关于sessionAttributes JSON对象或数组。作为解决方法,我将json对象转换为字符串,并在需要使用时将其转换回来。

+1

谢谢。在找出同样的问题时遇到问题 –

+0

完美!这并没有给我带来错误(至少没有我可以访问的地方),花了一个星期的时间缩小到这个问题/解决方案的范围。 –