我仍然是Rest Assured API世界的新手。我尽可能多地阅读https://github.com/rest-assured/rest-assured/wiki/Usage#example-3---complex-parsing-and-validation上的文档。
我的回复如下:
{
"StatusCode": 200,
"Result": [
{
"EmployeeId": "5661631",
"PhoneTypeDescription": "Home",
"PhoneNumber": "9701234567",
},
{
"EmployeeId": "5661631",
"PhoneTypeDescription": "mobile1",
"PhoneNumber": "2531234567",
},
{
"EmployeeId": "5661631",
"PhoneTypeDescription": "mobile2",
"PhoneNumber": "8081234567",
}
]
}
我一直在努力学习如何获得第一张唱片的电话号码。
String responseBody=
given()
.relaxedHTTPSValidation().contentType("application/json")
.param("api_key", api_key).
when()
.get("/api/employees/" + employeeId)
.andReturn().asString();
JsonPath jsonPath = new JsonPath(responseBody).setRoot("Result");
phoneNumber = jsonPath.getString("PhoneNumber");
在这种情况下,我获得了所有电话号码: phoneNumber =" [9701234567,2531234567,8081234567]"
我怎样才能获得第一张唱片?我宁愿不必执行字符串操作来处理" ["。
由于
答案 0 :(得分:2)
你可以这样做,
JSONObject json = new JSONObject(responseBody);
phoneNumber = json.getJSONArray("Result").getJSONObject(0).getString("PhoneNumber");
此处,0
表示JSON数组Result
中的第一条记录。
答案 1 :(得分:2)
因为您知道要检索的元素的索引,所以可以使用以下代码:
JsonPath jsonPath = new JsonPath(response);
String phoneNumber = jsonPath.getString("Result[0].PhoneNumber");