Protobuf二进制< - > JSON序列化选项/备选方案?

时间:2016-12-22 16:18:34

标签: json network-programming protocol-buffers binary-data cross-language

我一直在调查protobuf / gRPC。我真的很喜欢能够使用常见的* proto文件作为IDL来集中结构和服务的定义,以及围绕它的所有现有工具,以便在不同的编程中为客户端和服务器(gRPC插件)创建公共代码语言。

我真的不喜欢的是,如果强制使用二进制序列化格式。我希望protobuf可以选择在JSON或二进制格式之间切换。

我想知道什么替代品(如果有的话)提供protobuf / gRPC(许多语言,IDL,客户端和服务器的模板代码)的优点,同时仍然允许JSON编码。

protobuf是否有可能通过我不知道的某些功能允许JSON?

2 个答案:

答案 0 :(得分:0)

Protobuf不支持此功能。在Java中,您可以使用Google的gson库作为json,它使用反射将任意对象转换为基于成员变量名称的json。

答案 1 :(得分:0)

Protobuf确实支持JSON;见这里:https://github.com/jamesmccann/android-view-pager-cards