Hei*_*upp 27 json rest-assured rest-assured-jsonpath
我从一个服务返回的JSON中有一个匿名数组,如:
[
{"foo":1, "bar":2 , "baz":3 },
{"foo":3, "bar":4 , "baz":5 }
]
Run Code Online (Sandbox Code Playgroud)
我如何访问bar元素,例如
expect().body("$[*].bar", hasItems(2,4))
Run Code Online (Sandbox Code Playgroud)
我尝试了一些我在这里找到的可能性以及StefanGössner在JsonPath页面上的一些可能性,但无论我尝试什么,我都会遇到异常.我的问题似乎直接来自试图访问该项目列表.
Joh*_*han 37
鉴于你有:
[
{"foo":1, "bar":2 , "baz":3 },
{"foo":3, "bar":4 , "baz":5 }
]
Run Code Online (Sandbox Code Playgroud)
您可以在Rest Assured中执行以下操作:
then().body("bar",hasItems(2,4))
Run Code Online (Sandbox Code Playgroud)
要么
expect().body("bar",hasItems(2,4))
Run Code Online (Sandbox Code Playgroud)
如果您使用的是旧版API.
Mat*_*ias 27
约翰的答案是正确的,只是为了完整性:另一种方法来确保"酒吧"元素的确定是有保证的
expect().
body("[0].bar", equalTo(2)).
body("[1].bar", equalTo(4));
Run Code Online (Sandbox Code Playgroud)