我有一个来自服务器的 JSON 字符串,我无法控制它。
我通过 jsonschema2pojo 库的编程使用生成了 Java 类。
我正在使用 GSON 将 JSON 反序列化为我的 Java 对象。
这是 JSON 的示例。
"description_by_id": {
"50": {
"field1": "value1",
"field2": "value2",
"field3": "value3"
}
}
“50”子类实际上只是 18 个类中的 1 个,它们被类似地命名为一个数字。
当 jsonschema2pojo 生成 Java 类时,它可以理解地在前面添加一个下划线来创建类名(所以,_50)。
jsonschema2pojo 使用此成员生成 DescriptionById 类:
@JsonProperty("50")
private com.me.models._50 _50;
getter 看起来像这样(setter 类似):
@JsonProperty("50")
public com.me.models._50 get50() {
return _50;
}
我正在使用这样的 GSON:
Gson gson = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create();
但是 _50 对象和其他 17 个类似的对象在 GSON 完成后都是空的,我检查了 JSON 中的相应点实际上是用真实值填充的。
我可以在这条链上做些什么来让它正常工作,而无需手动解决这个问题?