首页 » PHP教程 » phpjson转protobuf技巧_protobuf与json互相转换

phpjson转protobuf技巧_protobuf与json互相转换

访客 2024-12-18 0

扫一扫用手机浏览

文章目录 [+]

option java_outer_classname = \"大众PersonEntity\"大众;//天生的数据访问类的类名

message Person {

phpjson转protobuf技巧_protobuf与json互相转换

required int32 id = 1;//同上

phpjson转protobuf技巧_protobuf与json互相转换
(图片来自网络侵删)

required string name = 2;//必须字段,在后面的利用中必须为该段设置值

optional string email = 3;//可选字段,在后面的利用中可以自由决定是否为该字段设置值

}

利用idea编译成java解析文件:详见另一篇文章

引入依赖:

<dependency>

<groupId>com.google.protobuf</groupId>

<artifactId>protobuf-java</artifactId>

<version>2.5.0</version>

</dependency>

<dependency>

<groupId>com.googlecode.protobuf-java-format</groupId>

<artifactId>protobuf-java-format</artifactId>

<version>1.2</version>

</dependency>

PB转换为JSON:

PersonEntity.Person.Builder builder = PersonEntity.Person.newBuilder();

builder.setId(1);

builder.setName(\"大众极客慧\"大众);

builder.setEmail(\公众jikeh@.com\"大众);

PersonEntity.Person person = builder.build();

System.out.println(\"大众原pb文件: \公众+person.toString());

System.out.println(\"大众原pb文件转换为JSON文件: \"大众+JsonFormat.printToString(person));

JSON转换为PB:

String jsonStr = \"大众{\"大众id\"大众: 1,\"大众name\公众: \公众极客慧\"大众,\"大众email\公众: \"大众jikeh@.com\"大众}\公众;

PersonEntity.Person.Builder builderPerson = PersonEntity.Person.newBuilder();

JsonFormat.merge(jsonStr, builderPerson);

PersonEntity.Person person2 = builderPerson.build();

System.out.println(\"大众JSON文件转换为PB: \"大众+person2.toString());

标签:

相关文章