protobuf3序列化的Java对象到JSON,对象HAVA一个INT32字段,值是0
问题描述:
我已经尝试序列化Java对象JSON,对象具有INT32字段,值是0protobuf3序列化的Java对象到JSON,对象HAVA一个INT32字段,值是0
在JSON,int32字段丢失。
如何在序列化对象时避免它。
原型文件像
message Pm {
int32 point = 1;
string url = 2;
}
的Java
...
pm.setPoint(0);
...
System.out.println(JsonFormat.printer().print(pm)); //result: {} expect :{"point": 0}
...
pm.setPoint(1);
...
System.out.println(JsonFormat.printer().print(pm)); //{"point": 1}
答
我已经找到了answer.the默认值应该是忽略时转换为JSON.includingDefaultValueFields方法应包括提交的默认和价值
System.out.println(JsonFormat.printer().includingDefaultValueFields().print(pm));
请发表[mcve]和des特别是如何/在哪里发生问题。 –