protobuf的学习

  开始学习pb了,来些总结吧!

本人github上本内容相关的项目:
  springboot+protobuf
  springboot+protobuf+websocket
接口设计:
 我的Protobuf消息设计原则 https://my.oschina.net/cxh3905/blog/159122
 我的Protobuf消息设计原则(续)–实践 https://my.oschina.net/cxh3905/blog/293000

Json转换

protobuf转json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import com.google.protobuf.Descriptors;
import com.googlecode.protobuf.format.JsonFormat;
import java.io.IOException;
/**
* JsonFormat的子类,不打印图片数据
*
* 直接使用com.googlecode.protobuf.format.JsonFormat的方法:
* new JsonFormat().printToString(message);
* 来打印,会将图片也打印出来,下面方法过滤了图片数据。
* new MyJsonFormat().printToString(message);
*
* Created by hfy on 2018/1/5.
*/
public class MyJsonFormat extends JsonFormat {
@Override
public void printField(Descriptors.FieldDescriptor field, Object value, JsonGenerator generator) throws IOException {
if (field.getType() == Descriptors.FieldDescriptor.Type.BYTES) {
generator.print("\"");
generator.print("image data...");
generator.print("\"");
} else {
super.printField(field, value, generator);
}
}
}

参考

protobuf 和 intellij 配置使用
Protobuf 语法指南
httpclient +protobuf 实现数据传输

文章目录
  1. 1. Json转换
    1. 1.1. protobuf转json
  2. 2. 参考
|