繁体   English   中英

使用Rest Assured从JSON响应获取所有ID

[英]Getting all ids from a JSON response using Rest Assured

最近,我与Rest Assured一起为一个新项目测试API。 我不太熟练使用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个这样的对象。 我想获取所有400条记录的id ,并将其存储在数组中。 我能够这样做,但是我认为可以优化该方法。

我当前的代码:

 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"));
}

如何最小化代码行以实现同一目标?

Response response 
// Code that assigns the response 

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM