我在JSON中有一个匿名数组,从以下服务返回:
[
{"foo":1, "bar":2 , "baz":3 },
{"foo":3, "bar":4 , "baz":5 }
]
如何访问bar
元素,例如在
expect().body("$[*].bar", hasItems(2,4))
我尝试了一些我在这里找到的可能性以及StefanGössner的JsonPath page,但无论我尝试什么,我都会得到例外。我的问题似乎直接来自于尝试访问该项目列表。
答案 0 :(得分:35)
鉴于你有:
[
{"foo":1, "bar":2 , "baz":3 },
{"foo":3, "bar":4 , "baz":5 }
]
您可以在Rest Assured中执行以下操作:
then().body("bar",hasItems(2,4))
或
expect().body("bar",hasItems(2,4))
如果您使用的是旧版API。
答案 1 :(得分:23)
Johan的答案是正确的,只是为了完整性:另一种方法是确保“bar”元素的确定
expect().
body("[0].bar", equalTo(2)).
body("[1].bar", equalTo(4));