将协议缓冲区转换为POJO

时间:2013-08-15 20:37:20

标签: protocol-buffers

是否有可以将Protobuff对象映射到POJO的工具或库。我想让pojo实现其他我无法使用ProtoBuff对象的接口。或者我必须手动进行此转换?

3 个答案:

答案 0 :(得分:6)

可能为时已晚,但您可以尝试使用protobuf-converter库。它很容易使用。

将POJO对象转换为相关的protobuf消息:

POJOClass pojoInstance = new POJOClass();
...
ProtobufClass protoInstance = Converter.create().toProtobuf(ProtobufClass.class, pojoInstance );

反向转换代码:

POJOClass pojoInstance = Converter.create().toDomain(POJOClass.class, protoInstance);

答案 1 :(得分:2)

看看ProtoStuff。 我认为它会做你想要的。

我相信你会想要使用“java-bean”编译器。

修改:更改了链接。

答案 2 :(得分:1)

我想为时已晚,但它可能会帮助其他人。

您可以使用 https://gitlab.com/protobuf-tools/proto_domain_converter

它与protobuf-converter非常相似,但我正在积极维护它,它具有更好的性能,支持映射类型和多态性(oneof)。