我有来自MongoDB的json响应,并且在其当前形式中我有一个类似于下面的pojo来绑定这些月字段值: -
@JsonProperty("Feb-2017")
private Float feb2017;
问题是这些月份名称随时间而变化,这些值将不再绑定到java对象.POJO又是表示此json的另外两个对象的属性。我无法更改Db中的json结构,并尝试在this answer之后的运行时创建此pojo,但我无法弄清楚如何在其他POJO中引用此对象。
还有其他方法可以解决这个问题吗?
感谢。
答案 0 :(得分:2)
在您的POJO中,添加一个类成员,如下所示:
private Map<String, Object> months = new HashMap<>();
然后创建一个用@JsonAnySetter
注释的方法:
@JsonAnySetter
public void set(String key, Object value) {
months.put(key, value);
}
此方法用作JSON文档中找到的所有无法识别属性的回退处理程序。