我有一个现有系统,它在 GUI 和服务器之间使用 基于 protobuf 的 通信协议。现在我想添加一些持久性,但目前 protobuf 消息直接转换为第三方自定义对象。
有没有办法将 proto 消息转换为 json ,然后可以将其持久化到数据库中。
注意: 我不太喜欢将二进制 protobuf 写入数据库的想法,因为它有一天会变得不向后兼容新版本并以这种方式破坏系统。
原文由 Denis Kulagin 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个现有系统,它在 GUI 和服务器之间使用 基于 protobuf 的 通信协议。现在我想添加一些持久性,但目前 protobuf 消息直接转换为第三方自定义对象。
有没有办法将 proto 消息转换为 json ,然后可以将其持久化到数据库中。
注意: 我不太喜欢将二进制 protobuf 写入数据库的想法,因为它有一天会变得不向后兼容新版本并以这种方式破坏系统。
原文由 Denis Kulagin 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
正如在 对类似问题的回答中 提到的,从 v3.1.0 开始,这是 ProtocolBuffers 支持的功能。对于 Java,包括扩展模块 com.google.protobuf:protobuf-java-util 并像这样使用 JsonFormat :