首页  

protobuf 对象转 json string     所属分类 protobuf 浏览量 844
protobuf 对象  与 json string 互相转换
不能直接使用 Jackson 等 进行序列化与反序列化
谷歌提供了专门的jar 包

com.googlecode.protobuf-java-format:protobuf-java-format:1.2

import com.googlecode.protobuf.format.JsonFormat;

import dyyx.PersonProto.Person.Builder;

public class JsonTest {

	public static void main(String[] args) throws Exception {
		System.out.println("JsonTest");

		PersonProto.Person person = PersonProto.Person.newBuilder().setName("cat").setAge(3).build();

		System.out.println(person);

		String jsonstr = JsonFormat.printToString(person);
		System.out.println(jsonstr);

		Builder personBuilder = PersonProto.Person.newBuilder();

		JsonFormat.merge(jsonstr, personBuilder);

		PersonProto.Person person2 = personBuilder.build();
		System.out.println("person2=\n" + person2);

		// 这里会报错
		// jsonstr = JacksonUtil.toString(person, true);
		// System.out.println(jsonstr);

	}

}


完整代码 https://gitee.com/dyyx/hellocode/blob/master/demo/protobufdemo/src/main/java/dyyx/JsonTest.java
protobuf 简介 及 java实例

上一篇     下一篇
JavaScript 模板引擎

graalvm hello 实例

jar 命令使用

jackson 直接把protobuf 数据对象 序列化成 json string

quarkus Jackson 配置

quarkus 配置读取