java如何将嵌套数组中的值映射到属性
我试图解析json并在数组中获取值-
{
"hits": {
"hits": [
{
"name": [
{
"family": "Doe",
"given": "Jon",
"middle": "Smith",
"use": "Commercial"
}
]
}
]
}
}
我意识到我在根级别还有一个数组,所以我决定解析hits
这是一个列表,然后解析name
这是另一个列表。我可以在响应中看到整个名称数组,但我更希望只看到映射到fstNm
的given
值
private String fstNm;
private List<Map<String,Object>> name;
public String getFstNm() { return fstNm; }
@JsonProperty("hits")
public void setFstNm(List<Map<String, Object>> hits) {
name = (List) hits.get(0).get("name");
this.fstNm= (String) name.get(0).get("given");
}
预期产量-
{
"fstNm": "Jon"
}
我将非常感谢您的帮助
# 1 楼答案
不确定为什么必须使名称与命中的对象类型相同
我认为通过将name声明为
从那里,您可以尝试设置名称,例如
然后,您可以创建一个get方法来获取名称,然后在setter中访问它,如
# 2 楼答案
只需更改
setFstNm()
方法,如下所示