我有一个从服务返回的 JSON 匿名数组,例如:
[
{"foo":1, "bar":2 , "baz":3 },
{"foo":3, "bar":4 , "baz":5 }
]
我如何访问bar
元素,例如
expect().body("$[*].bar", hasItems(2,4))
我尝试了一些我在此处以及 Stefan Gössner 的JsonPath 页面上找到的可能性,但无论我尝试什么,我都会遇到异常。我的问题似乎直接来自尝试访问该项目列表。
我有一个从服务返回的 JSON 匿名数组,例如:
[
{"foo":1, "bar":2 , "baz":3 },
{"foo":3, "bar":4 , "baz":5 }
]
我如何访问bar
元素,例如
expect().body("$[*].bar", hasItems(2,4))
我尝试了一些我在此处以及 Stefan Gössner 的JsonPath 页面上找到的可能性,但无论我尝试什么,我都会遇到异常。我的问题似乎直接来自尝试访问该项目列表。
鉴于您有:
[
{"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。
约翰的回答是正确的,只是为了完整起见:另一种检查“酒吧”元素的方法是
expect().
body("[0].bar", equalTo(2)).
body("[1].bar", equalTo(4));