Man*_*ena 5 protocol-buffers proto3
我正在将 json 文件转换为字符串,然后将字符串转换为 proto3 文件。
这是 json 文件:
{ "a": false,
"b": 0
}
Run Code Online (Sandbox Code Playgroud)
以下是我将 json 文件转换为字符串的方法:
String json =Files.lines(Paths.get(filePath)).collect(Collectors.joining());
Run Code Online (Sandbox Code Playgroud)
以下是将字符串转换为 proto3 文件的方法:
JsonFormat.parser().ignoringUnknownFields().merge(json,messageBuilder);
MyProto proto = messageBuilder.build();
Run Code Online (Sandbox Code Playgroud)
我的 json 中有 boolean 和 int 字段,其中一些值需要为默认值(boolean 为 false,int 为 0)。
当我将上面的文件反序列化为 proto3 java 文件时,上面的两个字段都被忽略,并且我的 json 变成空,即使我已经显式设置了值(如您在上面的 json 文件中看到的那样)。
我知道 proto3 在反序列化/序列化时忽略默认值,但是有没有办法不忽略显式设置的字段,即使它们是默认值?
| 归档时间: |
|
| 查看次数: |
12765 次 |
| 最近记录: |