我正在使用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中不存在的键?
答案 0 :(得分:0)
您可以使用jsonPath来构建JSONObject:
JSONObject jsonObject = new JSONObject(jsonPath.prettify());
然后您可以使用此jsonObject检查密钥是否存在:
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];
}
}