Reputation: 445
I have the sample JSON response
"userinfo": [
{
"userName": "name1",
"registered": false
},
{
"userName": "name2",
"registered": true
}
]
How can I verify when userName = name1
then registered = false
When userName = name2
then registered = true
Tried something like this but it does not work.
.body("$.findAll{it.userinfo.userName = name1"}.registered", equalTo(false));
Did I miss something or do something wrong?
Upvotes: 2
Views: 1355
Reputation: 2774
Here's something that can help you out,
String json = "{\r\n" + " \"userinfo\": [{\r\n" + " \"userName\": \"name1\",\r\n"
+ " \"registered\": false\r\n" + " },\r\n" + " {\r\n"
+ " \"userName\": \"name2\",\r\n" + " \"registered\": true\r\n" + " }\r\n"
+ " ]\r\n" + "}";
JsonPath js = new JsonPath(json);
String emp1Name = js.get("userinfo.find {it.userName == 'name2'}.registered").toString();
System.out.println(emp1Name);
Upvotes: 1