32

我有一个从服务返回的 JSON 匿名数组,例如:

[
  {"foo":1, "bar":2 , "baz":3 },
  {"foo":3, "bar":4 , "baz":5 }
]

我如何访问bar元素,例如

expect().body("$[*].bar", hasItems(2,4)) 

我尝试了一些我在此处以及 Stefan Gössner 的JsonPath 页面上找到的可能性,但无论我尝试什么,我都会遇到异常。我的问题似乎直接来自尝试访问该项目列表。

4

2 回答 2

46

鉴于您有:

[
  {"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。

于 2012-12-11T12:12:00.403 回答
32

约翰的回答是正确的,只是为了完整起见:另一种检查“酒吧”元素的方法是

expect().
    body("[0].bar", equalTo(2)).
    body("[1].bar", equalTo(4));
于 2014-11-01T21:27:17.637 回答