繁体   English   中英

将JSON响应与动态键绑定到Java对象

[英]Bind JSON response with dynamic keys to Java object

我有一个来自MongoDB的json响应,以目前的格式,我有一个类似下面的pojo来绑定这些month字段值:-

@JsonProperty("Feb-2017")
private Float feb2017;

问题在于这些月份的名称会随着时间而变化,而这些值将不再绑定到java对象。POJO依次是表示此json的其他两个对象的属性。 我无法更改Db中的json结构,并尝试按照此答案在运行时创建此pojo,但无法弄清楚如何跨其他POJO引用此对象。

我还有其他方法可以解决这个问题吗?

谢谢。

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

private Map<String, Object> months = new HashMap<>();

然后创建一个用@JsonAnySetter注释的方法:

@JsonAnySetter
public void set(String key, Object value) {
    months.put(key, value);
}

此方法用作JSON文档中所有无法识别的属性的后备处理程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM