让我们说我们有以下json响应:
{
"data":
[
{
"id": 1,
"name": "Pablo"
},
{
"id": 2,
"name": "Ernesto"
}
]
...
}
数据列表可以包含更多对象。如果我在哪里验证没有名字字段被设置为null,那么Rest Assured的做法是什么?
现在我正在使用:
from(response.asString()).get("data");
获取HashMaps列表,然后从那里继续为每个条目。但我想还有其他一些方法更有效率?
编辑/澄清:我想知道在没有创建地图列表的情况下是否有办法做到这一点?
答案 0 :(得分:0)
我想这是我们能做的最好的事情
List<HashMap> data = from(response.asString()).get("data");
for(HashMap map: data){
if(map.get("name") == null){
// null name found
}
}
// No null name found
答案 1 :(得分:0)
好的,也许我应该更仔细地阅读文档,这是最简单(和预期)的方法来检索,例如所有名称值(如我的例子中所示)是使用JsonPath,如下所示:
List<Object> names = from(response.asString()).get("data.name");
因此除了使用JsonPath.from()。get()然后从那里开始之外,Rest-Assured库中没有神奇的实用方法可以做到这一点。