protobuf对象不能直接使用jsonlib去转,因为protobuf生成的对象的get方法返回的类型有byte[],而只有String类型可以作为json的key,protobuf提供方法进行转换。
引用maven依赖:
1
2
3
4
5
|
<dependency> <groupId>com.googlecode.protobuf-java-format</groupId> <artifactId>protobuf-java-format</artifactId> <version> 1.2 </version> </dependency> |
protobuf对象转换成json:
1
|
String jsonFormat = JsonFormat.printToString(SomeProto); |
json转成protobuf对象:
1
2
3
|
Message.Builder builder =SomeProto.newBuilder(); String jsonFormat = "json字符串" ; JsonFormat.merge(jsonFormat, builder); |
以上所述是小编给大家介绍的protobuf与json转换小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/BensonHe/p/4940270.html