Javascript 将JSON对象转换为protobuf IStruct
我在用电脑 这个API显然是由Google通过协议缓冲区实现的,尽管它提供了一个简单的基于JavaScript/JSON的接口,我已经成功地将其用于简单的查询 为了请求Dialogflow向我发送特定平台的响应数据,将一个简单的JSON对象编码为protobuf格式。链接的源代码给出了一个示例,该示例使用structjson util,可以用来进行必要的转换:Javascript 将JSON对象转换为protobuf IStruct,javascript,protocol-buffers,dialogflow-es,Javascript,Protocol Buffers,Dialogflow Es,我在用电脑 这个API显然是由Google通过协议缓冲区实现的,尽管它提供了一个简单的基于JavaScript/JSON的接口,我已经成功地将其用于简单的查询 为了请求Dialogflow向我发送特定平台的响应数据,将一个简单的JSON对象编码为protobuf格式。链接的源代码给出了一个示例,该示例使用structjson util,可以用来进行必要的转换: const structjson = require('./structjson.js'); const request = {
const structjson = require('./structjson.js');
const request = {
/* other properties omitted */
queryParams: {
payload: structjson.jsonToStructProto({source: 'ACTIONS_ON_GOOGLE'})
},
};
不幸的是,为structjson util提供的链接已失效,我找不到其他对它的引用
根据上面的例子,除了编码一个简单的JSON对象之外,我不需要做任何事情。是否有一个简单的实用程序,无论是运行时还是命令行,都可以用来实现这一点,而无需对protobuf工具链进行重大操作?Google Dialogflow示例似乎使用该包进行JSON到protobuf的转换。该软件包提供了一种简单的方法,因此原始问题中的示例变成:
const {struct} = require('pb-util');
const request = {
/* other properties omitted */
queryParams: {
payload: struct.encode({source: 'ACTIONS_ON_GOOGLE'})
},
};
还要感谢@karthick在Dialogflow samples repo中找到了。Google Dialogflow samples似乎使用了JSON到protobuf转换的包。该软件包提供了一种简单的方法,因此原始问题中的示例变成:
const {struct} = require('pb-util');
const request = {
/* other properties omitted */
queryParams: {
payload: struct.encode({source: 'ACTIONS_ON_GOOGLE'})
},
};
还感谢@karthigh在对话框Flow samples repo中找到了文件。在历史记录中找到了该文件,感谢@karthigh这非常有用。我还发现,样本已更新,以使用新库进行转换;我将继续回答这个问题。在历史记录中找到该文件,谢谢@karthigh,这非常有用。我还发现,样本已更新,以使用新库进行转换;我会继续回答这个问题。