我们有一个基于Java的WebSocket,它当前正在返回JSON,然后我们在.Net应用程序中使用它。由于我们收到的数据大小,我想开始利用Protocol Buffers在序列化和反序列化过程中专门针对大小/带宽和双方时间/资源节省提供的所有优点。
我的问题是:
如果我要求我们的Java团队将他们的JSON序列化程序替换为Protobuf的Java实现,那么我可以在我的.Net使用者中使用Protobuf-net对其进行反序列化吗?
换句话说,我如何确保我的POCO与他们的POJO相匹配!?
[ * ]: 请注意,这不是关于不同JSON serlializers的性能优势的问题,它特定于Protobufs。
答案 0 :(得分:3)
是的,绝对。
协议缓冲区旨在与语言无关。实际上,它们的主要用途之一是在运行不同堆栈的机器之间进行通信。
在线上,协议缓冲区与XML或JSON没有区别。因为它们与语言无关。
要反序列化,您应该使用Google的机器生成的代码来同时使用.Net和Java。这将确保您的协议缓冲区正确反序列化。