Java 请放心,检查名称是否存在于json响应中

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

我是rest assured的新手。使用rest assured我试图验证是否找到了数据详细信息。这里有两个数据详细信息。有时会是2、3或5 我使用java获得如下响应

{
  "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){
//这里的错误处理代码
}
}