2017-02-01 83 views
1

搜索我有以下REST API響應:restassured - 解析響應和值

"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" 
      } 
    ] 

我的查詢是: - 如何基於查詢的名稱庫馬爾我得到EMPID。

例如:我需要找到「庫馬爾」的名字,並得到他的empid。 (也就是說,按名稱搜索並將他的empid作爲響應)我可以獲取響應並將其存儲在Response對象中。但是,從響應對象我如何遍歷和查詢來獲得所需的值。

此外, 我試圖通過檢索爲:

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

當我打印響應我得到像EMPID的集合[1234,5678],其中作爲我的期望是隻得到5678

我是否需要通過JSONArray和JSONObject進行解析並迭代響應?

請建議。

回答

0

您可以使用類似這樣

response1.jsonPath().getList("collect { it.credentials.findAll { it.credentialType == 'Ban User Name'}.credentialId }.flatten()")