将带有动态键的JSON响应绑定到Java对象

将带有动态键的JSON响应绑定到Java对象,java,json,mongodb,bytecode,pojo,Java,Json,Mongodb,Bytecode,Pojo,我有一个来自MongoDB的json响应,在它当前的形式中,我有一个如下的pojo来绑定这些月字段值:- @JsonProperty("Feb-2017") private Float feb2017; 问题在于,这些月份名称会随着时间的推移而变化,这些值将不再绑定到java对象。POJO又是表示此json的其他两个对象的属性。我无法更改数据库中的json结构,并尝试在运行时创建此pojo,但我不知道如何跨其他pojo引用此对象 我还有别的办法解决这个问题吗 谢谢。在您的POJO中,添加一个类

我有一个来自MongoDB的json响应,在它当前的形式中,我有一个如下的pojo来绑定这些月字段值:-

@JsonProperty("Feb-2017")
private Float feb2017;
问题在于,这些月份名称会随着时间的推移而变化,这些值将不再绑定到java对象。POJO又是表示此json的其他两个对象的属性。我无法更改数据库中的json结构,并尝试在运行时创建此pojo,但我不知道如何跨其他pojo引用此对象

我还有别的办法解决这个问题吗


谢谢。

在您的POJO中,添加一个类成员,如下所示:

private Map months=new HashMap();
然后创建一个用
@JsonAnySetter
注释的方法:

@jsonanystetter
公共无效集(字符串键、对象值){
月。投入(关键、价值);
}
此方法用作JSON文档中所有未识别属性的回退处理程序。

为什么不使用
Map