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