gpt4 book ai didi

java - protobuf3 将 java 对象序列化为 json ,该对象有一个 int32 字段,值为 0

转载 作者:行者123 更新时间:2023-11-30 06:27:58 25 4
gpt4 key购买 nike

我尝试将一个java对象序列化为JSON,该对象有一个int32字段,值为0

在 JSON 中,int32 字段丢失。

序列化对象时如何避免它。

原型(prototype)文件,例如

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}

最佳答案

我找到了答案。转换为 JSON 时应忽略默认值。includeDefaultValueFields 方法应包含默认字段和值

System.out.println(JsonFormat.printer().includeDefaultValueFields().print(pm));

关于java - protobuf3 将 java 对象序列化为 json ,该对象有一个 int32 字段,值为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46721802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com