Javascript 将JSON对象转换为protobuf IStruct

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 = {

我在用电脑

这个API显然是由Google通过协议缓冲区实现的,尽管它提供了一个简单的基于JavaScript/JSON的接口,我已经成功地将其用于简单的查询

为了请求Dialogflow向我发送特定平台的响应数据,将一个简单的JSON对象编码为protobuf格式。链接的源代码给出了一个示例,该示例使用structjson util,可以用来进行必要的转换:

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,这非常有用。我还发现,样本已更新,以使用新库进行转换;我会继续回答这个问题。