我正在使用Dialogflow v2和Node.js客户端SDK开发用于Messenger的聊天机器人。但是我对自定义有效载荷有疑问。当我使用Dialogflow提供的控制台时,我收到如下响应:
{ "payload": { "facebook": { "attachment": { "payload": { ...
但是,当我从JS服务器获得响应时,自定义有效负载已被序列化。这是我收到的对象:
{ facebook: { structValue: { fields: [Object] }, kind: 'structValue' } }
为了获得与Dialogflow中提供的相同的自定义有效负载结构,是否可以反序列化此对象?
先感谢您。
最佳答案
这是使用Struct protocols构建的
为了进行转换,您需要使用Google proto缓冲区,即google.protobuf
我用下面的代码来做到这一点。
import google.protobuf as pf
pf.json_format.MessageToJson(response.query_result.fulfillment_messages[1].payload, including_default_value_fields=False)
关于chatbot - 如何在Dialogflow v2中反序列化自定义有效负载响应?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49046140/