restassured - 解析响应和按值搜索

时间:2017-02-01 04:14:48

标签: rest-assured

我有以下REST API响应:

"items": 
[   
        {   
          "empid": "1234",  
          "name": "Santosh",  
          "hiredby": "Mark",  
          "date": "2017-01-31,00:19:41 PST",  
     },  
        {  
          "empid": "5678",  
          "name": "Kumar",  
          "hiredby": "Bob",  
          "date": "2017-01-31,08:30:31 PST"  
          }  
    ]

我的查询是: - 如何基于查询名称为Kumar获得empid。

例如:我需要找到" Kumar"命名,并得到他的empid。 (即,按名称搜索并将其作为响应获取)我能够获得响应并将其存储在Response对象中。但是,从响应对象我如何遍历和查询以获得所需的值。

另外, 我尝试检索为:

String name = get(REST_ENDPOINT).then().body("items.name",hasItems("Kumar")).extract().path("items.empid").toString();

当我打印回复时,我得到了像[1234,5678]那样的收集,其中我的期望是只得到5678.

我是否需要通过JSONArray和JSONObject进行解析并迭代响应?

请建议。

1 个答案:

答案 0 :(得分:0)

你可以使用这样的东西

public async abstract Task<TDTO> Get(object[] id)
{
   //I want to do something like this
   var entity = await this.ApplyGetIncludes(this.GetEntityDBSet()).FindAsync(id)
   return this.AdaptToDTO(entity);
}