protobuf与json互相转换


protobuf对象不能直接使用jsonlib去转,因为protobuf生成的对象的get方法返回的类型有byte[],而只有String类型可以作为json的key,protobuf提供方法进行转换。

引用maven依赖:

<dependency>
    <groupId>com.googlecode.protobuf-java-format</groupId>
    <artifactId>protobuf-java-format</artifactId>
    <version>1.2</version>
</dependency>

json转成protobuf对象:

//json to protobuf
TestBuilder.Test.Builder builder = TestBuilder.Test.newBuilder();
String jsonFormat = "{\"name\":\"张三\"}";
try {
  JsonFormat.merge(jsonFormat,builder);
 } catch (JsonFormat.ParseException e) {
   e.printStackTrace();
}

protobuf对象转换成json:

//protobuf to json
TestBuilder.Test test = builder.build();
String s = JsonFormat.printToString(test);
System.out.println(s);


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM