Использование reassured parse json Response
У меня есть ответ JSON, как показано ниже.
[{
views: [{
name: "Preview",
displayOrder: 1,
groups: [{
type: "static",
displayOrder: 1,
tiles: [{
context: "event",
collection: "event"
}
]
}
]
}, {
name: "Team Stats",
displayOrder: 2,
groups: [{
type: "static",
displayOrder: 1,
tiles: [{
context: "event",
collection: "event"
}
]
}
]
}, {
name: "Leaders",
displayOrder: 3,
groups: [{
type: "static",
displayOrder: 1,
tiles: [{
context: "event",
collection: "event"
}
]
}
]
}, {
name: "SA Roster",
displayOrder: 4,
groups: [{
type: "scrollable",
displayOrder: 1,
auditType: "player-pregame_roster",
tiles: [{
context: "event",
collection: "people",
auditType: "sekloger",
order: 3,
firstName: "LaMarcus"
}, {
context: "event",
collection: "people",
auditType: "france24",
order: 7,
firstName: "Kawhi"
}
]
}
]
}, {
name: "LAL Roster",
displayOrder: 5,
groups: [{
type: "scrollable",
displayOrder: 1,
auditType: "player-pregame_roster",
tiles: [{
context: "event",
collection: "people",
auditType: "player-pregame_roster"
}, {
context: "event",
collection: "people",
auditType: "player-pregame_roster",
order: 11
}, {
context: "event",
collection: "people",
auditType: "player-pregame_roster",
order: 16
}
]
}
]
}
]
Я использую будьте уверены JspnPath (jayway.restassured.path.json.JsonPath;)
чтобы получить конкретный дочерний элемент из ответа.
Из приведенного ниже ответа я пытаюсь получить весь массив плиток внутри группового массива. Используя приведенный ниже код, я попытался получить весь групповой массив.jsonAsArrayList
печатает правильные данные. т.е. все групповые массивы.
ArrayList<Map<String,Object>> jsonAsArrayList = response.jsonPath().getJsonObject("views[0].groups");
System.out.println(jsonAsArrayList.size()); //
for (Map<String, Object> map : jsonAsArrayList) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
}
}
Но пока я пытаюсь повторить jsonAsArrayList
я получаю
java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map
Что не так с моим кодом?