Java 如何用Proto定义表示JSON对象变量
我想在gRPC中定义一条请求消息,它应该有一个Json对象作为字段 例如 如何在proto定义中表示metainfo属性? 我试过使用下面的定义,但不起作用Java 如何用Proto定义表示JSON对象变量,java,protocol-buffers,grpc,grpc-java,proto,Java,Protocol Buffers,Grpc,Grpc Java,Proto,我想在gRPC中定义一条请求消息,它应该有一个Json对象作为字段 例如 如何在proto定义中表示metainfo属性? 我试过使用下面的定义,但不起作用 message UserRequest{ string name = 1; string city = 2; string email = 3; google.protobuf.Any metainfo = 4; } 我认为您需要一个.google.protobuf.Struct,via-它本质上封装了一个
message UserRequest{
string name = 1;
string city = 2;
string email = 3;
google.protobuf.Any metainfo = 4;
}
我认为您需要一个
.google.protobuf.Struct
,via-它本质上封装了一个映射字段
,与您希望通过JSON描述的内容大致类似。此外,Struct
具有自定义JSON处理,如文件中所述:
Struct
的JSON表示是JSON对象
因此:
.google.protobuf.Struct metainfo=4;
message UserRequest{
string name = 1;
string city = 2;
string email = 3;
google.protobuf.Any metainfo = 4;
}