Java 如何将proto3消息序列化为数组
我使用Java 如何将proto3消息序列化为数组,java,serialization,protocol-buffers,Java,Serialization,Protocol Buffers,我使用protoc生成用于序列化数据的java类。例如,有时我希望我的json看起来像: [ { "foo": 1, "bar": "a" }, { "foo": 2, "bar": "b" }, { "foo": 3, "bar": "c" } ] 我将定义protobuff消息: message Sample { uint64 foo = 1; string bar = 2; } 我还必须为数组类型键定义
protoc
生成用于序列化数据的java类。例如,有时我希望我的json
看起来像:
[
{
"foo": 1,
"bar": "a"
},
{
"foo": 2,
"bar": "b"
},
{
"foo": 3,
"bar": "c"
}
]
我将定义protobuff消息:
message Sample {
uint64 foo = 1;
string bar = 2;
}
我还必须为数组类型键定义一条消息:
message SampleResponse {
repeated Sample keys = 1;
}
上面的json现在看起来像:
{
"keys": [
{
"foo": 1,
"bar": "a"
},
{
"foo": 2,
"bar": "b"
},
{
"foo": 3,
"bar": "c"
}
]
}
是否有可能去掉多余的包装器消息?鉴于协议缓冲区的主要用途不是JSON序列化/反序列化,答案是“否”