Я пытаюсь получить счетчик всех моделей из объекта автомобилей, который является частью ответа SerenityRest.
Response response = SerenityRest.rest()
.contentType("application/json")
.when()
.get("/api/");
if (response.statusCode() == 200) {
int numUniqueModels = response.body().path("cars.size()"); // 3
}
Ответ:
"cars": {
"Acura": [
"ILX",
"MDX",
"TLX"
],
"Audi": [
"A3",
"A4",
"A6",
"A7"
],
"BMW": [
"x",
"y"
]
}
Например,
response.body().path("cars.size()") = 3,
но мне нужна сумма cars.Acura.size () + cars.Audi.size () + cars.BMW.size (), чтобы получить все модели. Тем не менее, я не знаю, будут ли в ответе точные названия Acura, Audi или BMW, поскольку автомобили могут меняться динамически. Чтобы решить эту проблему, мне нужно сделать какой-то цикл, где:
sum = 0;
for (int i = 0; i < response.body().path("cars.size()"); i++) {
sum += response.body().path("cars.[i].size()");
}
В сумме должно быть указано общее количество моделей автомобилей = 9.
Проблема в том, что этот синтаксис: путь («cars. [I] .size ()») не является правильным. Какой правильный звонок?