[英]protobuf3 serialize a java object to json , the object hava a int32 field and the value is 0
我嘗試將 java 對象序列化為 JSON,該對象有一個 int32 字段,值為 0
在 JSON 中,int32 字段丟失了。
序列化對象時如何避免它。
proto文件之類的
message Pm {
int32 point = 1;
string url = 2;
}
爪哇
...
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}
我找到了答案。轉換為 JSON 時應忽略默認值。包括默認值字段方法應包括默認文件和值
System.out.println(JsonFormat.printer().includingDefaultValueFields().print(pm));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.