【发布时间】:2018-10-05 17:05:51
【问题描述】:
我正在使用基于 protobuf.js 的 grpcc 来测试我的 grpc 服务 API。
我的.proto 文件:
message MyRequest {
string userId = 1;
map<string, string> params = 2;
}
我尝试了以下 json 正文来发送请求:
{userId : "my_user_id" , params: { name: "my_name"}}
{userId : "my_user_id" , params: [{"name":"my_name"}] }
但这会产生以下错误:
Error: Illegal value for Message.Field....MyRequest.params of type string: object (expected ProtoBuf.Map or raw object for map field)
如何正确地将 protobuf 映射表示为 json?
【问题讨论】:
-
你试过只使用一个对象,而不是一个对象数组吗?
-
是的,我试过这个,因为它不起作用。我添加了我尝试过的两种情况。
-
这里是 protobuf 的 javascript 地图类。 github.com/protocolbuffers/protobuf/blob/master/js/map.js
标签: grpc proto protobufjs