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>
protobuf對象轉換成json:
String jsonFormat = JsonFormat.printToString(SomeProto);
json轉成protobuf對象:
Message.Builder builder =SomeProto.newBuilder(); String jsonFormat = "json字符串"; JsonFormat.merge(jsonFormat, builder);