在java中验证JSON响应键标签是否存在且值不为空



我们有API,它给出了标签和值的响应数组下面是结构

"Name":"XYZ"
"Resultid": [
{
"subject": "English",            
"Marks": "79"
},
{
"subject": "English",            
"Marks": "79"
}

我们需要检查Subject和Marks的值是否总是不为空。下面是代码

List<Map<String, String>> allResultid = response.jsonPath().getList("Resultid");
for (Map<String, String> map : allResultid) {


assertEquals(map.get("subject"), not(blankOrNullString()));             
assertEquals(map.get("Marks"), not(blankOrNullString()));
}

得到预期错误和实际错误不匹配。请帮忙检查值是否始终存在

Try withisNull

if(!allResultid.isNull("subject")) {
//Throw Error
}

或者你可以试试

if( allResultid.get("subject").equals(null) ){
//Throw Error
}

要在java中进行空检查,可以使用!= null. 因此,检查null,然后执行下一个任务。您也可以检查Resultid为空类似的方式。

List<Map<String, String>> allResultid = response.jsonPath().getList("Resultid");
for (Map<String, String> map : allResultid) {

if( map.get("subject") != null){
// do something
}  
...
if( map.get("Marks") != null){
// do something
}

}

我们使用assert

添加了一行来检查null。
assertNotNull(map.get("subject"));

相关内容

最新更新