我一直在使用杰克逊(效果很好的BTW)来浏览我所经历的所有json“树”,直到我到达最深的json级别,不幸的是json属性是“动态的”,如下所示,所以它不会为那些人创造物体是有道理的......
"values": [
{
"duration": 0.20669677067008357
},
{
"weight": 0.013746673955838557
}
]
问题是“持续时间”和“权重”是动态的,所以我希望将List<String[]>
用于'值',但我不认为这是可能的。例如,下一个调用可以有“duration”,“weight”和“marketValue”或其他10个属性。
有关如何解决此问题的任何建议吗?
答案 0 :(得分:1)
我实际上为那些感兴趣的人找到了解决方案:
本文/如何在理解jackson数据绑定灵活性方面非常有帮助:
http://www.studytrails.com/java/json/java-jackson-Annotations-Dynamic-Beans.jsp
特别是,我选择在我的POJO上使用这样的注释@JsonAnySetter
:
私人字符串名称; 私有对象值;
@JsonAnySetter
public void set(String name, Object value) {
this.name = name;
this.value = value;
}
然后我选择将这些名称/值对放入Map<String, Object>
以便于检索...效果很棒!