将 JSON 对象转换为 protobuf IStruct
Convert JSON object to protobuf IStruct
我正在使用 Dialogflow API for Nodejs。
这个 API 显然是由 Google 通过协议缓冲区实现的,尽管它提供了一个简单的基于 JavaScript/JSON 的接口,我已经成功地用于简单查询。
为了请求 Dialogflow 向我发送特定平台的响应数据,I apparently need 将一个简单的 JSON 对象编码为 protobuf 格式。 linked 源给出了一个使用 "structjson util" 的示例,大概可以用来进行必要的转换:
const structjson = require('./structjson.js');
const request = {
/* other properties omitted */
queryParams: {
payload: structjson.jsonToStructProto({source: 'ACTIONS_ON_GOOGLE'})
},
};
不幸的是,为 structjson 实用程序提供的 link 已失效,我找不到其他参考资料。
除了按照上面的示例对简单的 JSON 对象进行编码外,我不需要做任何其他事情。是否有一个简单的实用程序(运行时或命令行)可用于执行此操作而无需使用 protobuf 工具链进行大手术?
似乎 Google Dialogflow 示例 updated to use the pb-util package for JSON-to-protobuf conversions. This package provides a method for encoding JSON to protobuf 很容易,因此原始问题中的示例简单地变为:
const {struct} = require('pb-util');
const request = {
/* other properties omitted */
queryParams: {
payload: struct.encode({source: 'ACTIONS_ON_GOOGLE'})
},
};
还要感谢@karthick 在 Dialogflow 示例存储库中找到 original structjson file。
我正在使用 Dialogflow API for Nodejs。
这个 API 显然是由 Google 通过协议缓冲区实现的,尽管它提供了一个简单的基于 JavaScript/JSON 的接口,我已经成功地用于简单查询。
为了请求 Dialogflow 向我发送特定平台的响应数据,I apparently need 将一个简单的 JSON 对象编码为 protobuf 格式。 linked 源给出了一个使用 "structjson util" 的示例,大概可以用来进行必要的转换:
const structjson = require('./structjson.js');
const request = {
/* other properties omitted */
queryParams: {
payload: structjson.jsonToStructProto({source: 'ACTIONS_ON_GOOGLE'})
},
};
不幸的是,为 structjson 实用程序提供的 link 已失效,我找不到其他参考资料。
除了按照上面的示例对简单的 JSON 对象进行编码外,我不需要做任何其他事情。是否有一个简单的实用程序(运行时或命令行)可用于执行此操作而无需使用 protobuf 工具链进行大手术?
似乎 Google Dialogflow 示例 updated to use the pb-util package for JSON-to-protobuf conversions. This package provides a method for encoding JSON to protobuf 很容易,因此原始问题中的示例简单地变为:
const {struct} = require('pb-util');
const request = {
/* other properties omitted */
queryParams: {
payload: struct.encode({source: 'ACTIONS_ON_GOOGLE'})
},
};
还要感谢@karthick 在 Dialogflow 示例存储库中找到 original structjson file。