gpt4 book ai didi

java - 如何从嵌套列表中提取项目 - 放心

转载 作者:行者123 更新时间:2023-12-02 05:02:10 25 4
gpt4 key购买 nike

我有这个 json 对象

{
"type" : "employee",
"columns" :
[
{
"id" : 1,
"human" :
[
{
"name" : "ANA",
"age" : "23"
},
{
"name" : "IULIA",
"age" : "22"
}
]
},
{
"id" : 2,
"human" :
[
{
"name" : "ADI",
"age" : "21"
},
{
"name" : "GELU",
"age" : "18"
}
]
}
]
}

我需要从每个人的列表中提取名字。我尝试过 .body("columns. human.name[0]", everyItem(containsString("A"))) 但它不起作用。有什么想法吗?

最佳答案

使用JsonPath您可以获得所有列和所有人类。

每个 JSON Object表示为HashMap<> 。如果它仅包含字段,则为 HashMap<String, String>但如果包含数组或嵌套 JSON 对象,那么它是 HashMap<String, Object>哪里Object是另一个 JSON 对象或数组。

鉴于上述内容,您可以使用以下代码来获取所有列以及每列中第一个人的姓名:

JsonPath path = response.jsonPath();
List<HashMap<String, Object>> columns = path.getList("columns");
for (HashMap<String, Object> singleColumn : columns) {
List<HashMap<String, Object>> humans = (List<HashMap<String, Object>>) singleColumn.get("human");
System.out.println(humans.get(0).get("name"));
}

上面的代码将打印 ANAADI在控制台中。您可以将结果存储在List<String>中以便进一步处理

关于java - 如何从嵌套列表中提取项目 - 放心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56380588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com