我正在使用Json Path库,我想检查key是否存在,并在此基础上执行一些操作。因此,我编写了以下代码:
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中没有的键?
发布于 2019-12-17 22:58:15
您可以使用您的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];
}
}https://stackoverflow.com/questions/59260589
复制相似问题