问题描述
我有示例JSON响应
"userinfo": [
{
"userName": "name1","registered": false
},{
"userName": "name2","registered": true
}
]
如何验证何时userName = name1
然后registered = false
当userName = name2
时,registered = true
尝试了类似的方法,但是它不起作用。
.body("$.findAll{it.userinfo.userName = name1"}.registered",equalTo(false));
我错过了什么还是做错了什么?
解决方法
这可以为您提供帮助,
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);