【发布时间】:2019-11-24 22:41:55
【问题描述】:
我正在尝试将表示为 Java 类的 protobuf 消息序列化为带有 Gson 库和 ProtoTypeAdapter 的 JSON
ProtoTypeAdapter adapter = ProtoTypeAdapter.newBuilder()
.setFieldNameSerializationFormat(CaseFormat.LOWER_UNDERSCORE, CaseFormat.LOWER_UNDERSCORE)
.build();
Gson gson = new GsonBuilder()
.registerTypeAdapter(SomeAutogeneratedClass.class, adapter)
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
.disableHtmlEscaping()
.create();
suchMessage.getMyIntField() // which is 0
String serialized = gson.toJson(suchMessage)
但它似乎没有为int字段序列化0等默认值。
如何在 JSON 中包含这些具有默认值的字段?
【问题讨论】:
标签: java json serialization gson protocol-buffers