协议缓冲区(protobuf)优于GSON的优缺点是什么?
在什么情况下protobuf比GSON更合适?
对于一个非常通用的问题,我很抱歉。
答案 0 :(得分:11)
json(通过gson库)和protobuf都可以在平台之间移植;但
如果表现很关键:protubuf
用于网页(JavaScript)或人类可读:json(可能是通过gson)
答案 1 :(得分:0)
如果您想要效率和跨平台,您应该在包含必要信息的应用程序之间发送原始消息,而不是更多或更少。
通过Java自己的机制(gson,protobufs等)对类进行序列化,创建的数据不仅包含您要发送的信息,还包含有关用于表示数据的数据结构的逻辑结构/层次结构的信息在你的申请中。
这使得这些类和数据映射具有双重目的,一个用于在应用程序内部表示数据,另一个用于传输到另一个应用程序。这两个角色可能存在冲突,开发人员有责任记住他随时使用的类,集合和数据布局也将被序列化。