从 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'}");
我对 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'}");