【发布时间】:2018-04-29 13:07:25
【问题描述】:
我有一个来自服务器的 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中的对应点实际上是用真实值填充的。
我可以在这条链上做些什么来让它正常工作而无需手动解决问题?
【问题讨论】:
标签: java json gson jsonschema2pojo