我可以使用Protobuf网络来清除已经在Java中序列化的数据吗

本文关键字:Java 序列化 数据 可以使 Protobuf 网络 清除 我可以 | 更新日期: 2023-09-27 18:21:55

我们有一个基于Java的WebSocket,它当前正在返回JSON,然后我们在.Net应用程序中使用它。由于我们接收到的数据的大小,我想开始利用协议缓冲区在大小/带宽方面提供的所有优势,以及在序列化和反序列化过程中双方节省的时间/资源。

我的问题是:

如果我要求我们的Java团队用Protobuf的Java实现来替换他们的JSON序列化程序,那么我是否能够在我的.net使用者中使用Protobuf.net来反序列化它?

换句话说,我如何确保我的POCO与他们的POJO匹配!?

[*]:请注意,这不是关于不同JSON Serlializer的性能优势的问题,它是针对Protobufs的。

我可以使用Protobuf网络来清除已经在Java中序列化的数据吗

当然。

协议缓冲区被设计为与语言无关。事实上,它们的主要用途之一是在运行不同堆栈的机器之间进行通信。

在线路上,协议缓冲区与XML或JSON没有什么不同。因为它们是独立于语言的。

要反序列化,您应该同时使用Google的机器生成的.Net和Java代码。这将确保您的协议缓冲区被正确地反序列化。