从下面的json Response中,视图数组包含多个对象。 使用放心,我如何迭代视图数组中的json对象
使用的代码
Response response = RestAssured.given().when().get(getURL);
ArrayList<Map<String,Object>> jsonList = response.jsonPath().get("views");
jsonList.size();
//It returns size 1
[{
gameIfd: 2018916,
gameIdGlobal: 1948141,
views: [{
name: "Preview",
displayOrder: 1,
groups: [],
actions: [],
localizedName: {}
},{
name: "Thumbnail",
displayOrder: 2,
groups: [],
actions: [],
localizedName: {}
}
]
}
]
答案 0 :(得分:0)
我发现了这种方式
Response response = RestAssured.given().when().get(getURL);
JsonPath pathResponse = response.jsonPath();
List<String> key = pathResponse.getList("views[0]");
System.out.println(key.size()); //Whcih prints the jsonobjects inside views array
答案 1 :(得分:0)
您的主要JSON响应是一个列表。因此,当您致电response.jsonPath().get("views")
时,它会为您提供主列表中所有对象的所有views
列表。不应分配给ArrayList<Map<String, Object>>
,而应将其分配给ArrayList<ArrayList<Map<String,Object>>>
,如下所示:
ArrayList<ArrayList<Map<String,Object>>> jsonList =
response.jsonPath().get("views");
然后您可以将第一个对象的views
列表设为:
jsonList.get(0).size()
response.jsonPath().get("views[0]")
还为您提供了第一个对象的views
列表。