【问题标题】:How to check if key exists or not using json-path library?如何使用 json-path 库检查密钥是否存在?
【发布时间】:2019-12-10 05:07:47
【问题描述】:

我正在使用Json Path 库,我想检查密钥是否存在,并在此基础上执行一些操作。因此我编写了以下代码 -

for(int i = 0; i < keyValues.length; i++) {
  List<String> invalidKeys = new ArrayList<>();

  if(Objects.isNull(jsonPath.getString(key))) {
     invalidKeys.add(key);
     continue;
  }else {
     value = keyValues[i].split("=")[1];
  }
}

我打算获取 json 中不存在但使用此代码的键,如果键的值为 null 也被视为不存在的键。有什么办法可以修改上面的代码以仅获取 json 中不存在的键?

【问题讨论】:

    标签: rest-assured rest-assured-jsonpath


    【解决方案1】:

    您可以使用您的 jsonPath 来构建 JSONObject:

    JSONObject jsonObject = new JSONObject(jsonPath.prettify());
    
    

    然后你可以使用这个jsonObject来检查key是否存在:

    for(int i = 0; i < keyValues.length; i++) {
      List<String> invalidKeys = new ArrayList<>();
    
      if(!jsonObject.has(key)) {
         invalidKeys.add(key);
         continue;
      }else {
         value = keyValues[i].split("=")[1];
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-14
      • 1970-01-01
      相关资源
      最近更新 更多