Java 请放心,检查名称是否存在于json响应中
我是rest assured的新手。使用rest assured我试图验证是否找到了数据详细信息。这里有两个数据详细信息。有时会是2、3或5 我使用java获得如下响应Java 请放心,检查名称是否存在于json响应中,java,json,rest,hamcrest,rest-assured,Java,Json,Rest,Hamcrest,Rest Assured,我是rest assured的新手。使用rest assured我试图验证是否找到了数据详细信息。这里有两个数据详细信息。有时会是2、3或5 我使用java获得如下响应 { "queryPath": "/api/", "nId": "f084f5ad24fcfaa9e9faea0", "statusCode": 707 "statusMessage": "Success", "results": { "data": [ { "id": "1
{
"queryPath": "/api/",
"nId": "f084f5ad24fcfaa9e9faea0",
"statusCode": 707
"statusMessage": "Success",
"results": {
"data": [
{
"id": "10248522500798",
"capabilities": [
"record",
"HDt"
],
"name": "errt2"
},
{
"id": "418143778",
"capabilities": [
"1record",
"HDy"
],
"name": "Livin"
}
]
}
}
代码使用
JsonPath jsonResponse = new JsonPath(response.asString());
ArrayList<String> list = new ArrayList<String>();
list = jsonResponse.get("results.data"); //
if (list.size() < 1 ) {
SpiceCheck.fail("data not found! " + list.size());
}
JsonPath-jsonResponse=newjsonpath(response.asString());
ArrayList=新建ArrayList();
list=jsonResponse.get(“results.data”);//
if(list.size()<1){
SpiceCheck.fail(“未找到数据!”+list.size());
}
与此相反,我还想检查数据名是否为空。我如何才能做到这一点呢?请放心。只是为了让您知道707后面缺少一个逗号 为了验证没有一个名称是空的,我将把这些名称解析为一个列表,然后逐个迭代这些名称并检查它们是否不是空的
List<String> names = from(response.asString()).getList("results.data.name");
for(String name : names){
if(name == null){
// error handling code here
}
}
List name=from(response.asString()).getList(“results.data.name”);
for(字符串名称:名称){
if(name==null){
//这里的错误处理代码
}
}