Получение всех идентификаторов из ответа JSON с помощью Rest Assured - PullRequest
0 голосов
/ 22 февраля 2019

Я недавно перешел на тестирование API для нового проекта с Rest Assured.Я не очень хорошо владею Java, поэтому мне нужно знать, как оптимизировать код.

Допустим, у меня есть API, который выводит JSON в этом формате -

{
   "records":[
0: {
        "id" : 1232,
        "attribute1": "some_value",
        "attribute2": "some_value1"

},
1: {
         "id" : 1233,
        "attribute1": "some_new_value",
        "attribute2": "some_new_value1"

}]}

В массиве records содержится около 400 таких объектов.Я хочу получить id из всех 400 записей и сохранить в массиве.Я могу это сделать, но я думаю, что подход можно оптимизировать.

Мой текущий код:

 private static Response response;
 Response r;
 JSONParser parser = new JSONParser();
 String resp = response.asString();
 JSONObject json =  (JSONObject) parser.parse(resp);
 JSONArray records= ((JSONArray)json.get("records"));

 ArrayList<Long> idlist = new ArrayList<Long>();
 for(int i=0;i<records.size();i++) {
    idlist.add((Long) ((JSONObject)records.get(i)).get("id"));
}

Как можно минимизировать строки кода для достижения того же самого?

1 Ответ

0 голосов
/ 22 февраля 2019
Response response 
// Code that assigns the response 

List<Long> idList = response.jsonPath().getList("records.id");
// Code that uses the id list. 
...