当前位置: 首页 > 知识库问答 >
问题:

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

琴光亮
2023-03-14

我是新来的,可以放心。使用请放心,我试图验证数据详细信息是否找到。这里有两个数据细节。有时它将是2,3或5 Am获得响应,如下所示并使用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());
}

而不是检查数据名是否为空。我怎么做才能放心。

共有1个答案

施子民
2023-03-14

只是为了让你知道你在707之后漏掉了一个逗号。

为了验证没有一个名称为空,我会将名称解析为列表,然后逐个迭代名称并检查它们是否为空。

List<String> names = from(response.asString()).getList("results.data.name");
for(String name : names){
  if(name == null){
     // error handling code here
  }
}
 类似资料:
  • 我是新来的,请放心。我尝试了下面的代码来获得响应 这是json响应 如何计算id或列表的大小。帮助我。

  • 我的JSON响应如下所示: 我正在尝试提取成功消息和数据。但是,我的控制台输出保持为null。 提取响应后,我的代码将使用Rest Assured接收空响应: 我对成功和数据的响应均为空

  • 我使用的是junit4提供的restassured。在我的测试方法中,我在mongodb中创建了一个对象,当我运行测试时,它也成功地持久化了。但是我需要存储创建的id,所以我尝试获取响应体。但是< code>response.getBody()。asString()为空。 当我从外部调用restendpoint时,它会返回带有相关字段的响应体,因此rest API没有问题。 如果上述问题没有答案,

  • 问题内容: 因此,我从服务器获取了一些JSON值,但我不知道是否会有特定的字段。 像这样: 有时,还会有一个额外的字段,例如: 我想检查名为“ club”的字段是否存在,以便在解析时不会得到 org.json.JSONException:club的值 问题答案: JSONObject类具有一个名为“ has”的方法: http://developer.android.com/reference/o

  • 问题内容: 我有下一个JSON: 知道JSON对象中是否存在“ dog”值的最佳方法是什么? 谢谢。 解决方案1 解决方案2(JQuery) 解决方案3(使用some()方法) 问题答案: JSON变量引用具有一个称为“名称”的属性的对象数组。我不知道最好的方法,但这就是我的工作吗?

  • 上面是我正在处理的JSON对象。我想检查键是否存在。我尝试了下面的代码,但它不起作用。有办法实现吗?