放心-如何验证具有相同名称的JSON响应字段

问题描述

我有示例JSON响应

     "userinfo": [
            {
                "userName": "name1","registered": false
            },{
                "userName": "name2","registered": true
            }
          ]

如何验证何时userName = name1然后registered = falseuserName = 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);