从 Unnamed Root 中放心查找对象

Rest-assured looking up object from Unnamed Root

我对 Rest-assured 和 Gpath 比较陌生。从下面的 JSON 中,我只想获得一张地图,其中包含 'RideA'

的键/值
[{
"state": "open",    
"name": "RideA",
"imageCount": 2
}, 
{
"state": "open",
"name": "RideB",    
"imageCount": 1    
},
{
"state": "open",    
"name": "RideC",    
"imageCount": 2
}]

到目前为止我已经尝试过:

final List<Map<String, ?>> object = from(json).get("it.findAll { it.name == 'RideA' }");

但是这个 returns java.lang.IllegalArgumentException: Cannot get 属性 'name' on null object ,所以我认为有些东西我的语法有问题

下面的代码有效,但是当我想通过 'name' 字段[= =13=]

final List<Map<String,?>> object = from(json).get("");
assertThat(object.get(0).get("name"), IsEqual.<Object>equalTo("RideA"));

非常感谢任何帮助!

感谢 Johan Haleby 的帮助,我终于弄明白了。

首先我的第一个陈述中有一个小错误,我应该只是在寻找地图,而不是地图列表。

final Map<String, ?> object = from(json).get("it.findAll { it.name == 'RideA' }");

'findAll' returns 一个列表,所以在这种情况下是不正确的。

本例中正确的说法是:

final Map<String, ?> object = from(json).get("find { it.name == 'RideA'}");