Будьте уверены — Как проверить поле ответа JSON с тем же именем

#java #rest-assured #rest-assured-jsonpath

#java #будьте уверены #будьте уверены-jsonpath

Вопрос:

У меня есть образец ответа 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));
  

Я что-то пропустил или сделал что-то не так?

Комментарии:

1. Попробуйте разобраться в этом. docs.oracle.com/javaee/7/api/javax/json/JsonObject.html

Ответ №1:

Вот кое-что, что может вам помочь,

     String json = "{rn"   "   "userinfo": [{rn"   "           "userName": "name1",rn"
              "         "registered": falsern"   "      },rn"   "     {rn"
              "         "userName": "name2",rn"   "           "registered": truern"   "       }rn"
              " ]rn"   "}";

    JsonPath js = new JsonPath(json);
    String emp1Name = js.get("userinfo.find {it.userName == 'name2'}.registered").toString();
    System.out.println(emp1Name);