Как утверждать ключ JSON, но не заботиться о значениях в Java? - PullRequest
0 голосов
/ 25 октября 2019

Я хочу проверить, существует ли определенный ключ в JSON на корневом уровне.

 MvcResult result = mockMvc.perform(request)
                .andExpect(status().isOk())
                .andExpect(jsonPath("$.token").exists())
                .andReturn();

Я могу выполнить тест, используя jsonPath внутри класса MockMVC.

Но если у меня уже есть строка json, как я могу это подтвердить?

Assert(jsonString, hasKey??)

1 Ответ

0 голосов
/ 25 октября 2019

Вы можете проверить путь json, как показано ниже

String tree =
        "{\n"
            + "  \"tes\": {\n"
            + "    \"test1\":\"test12111\"\n"
            + "  }\n"
            + "}";

   ObjectMapper mapper = new ObjectMapper();
  JsonNode jsonNode = mapper.readTree(json);
  String value = jsonNode.path("tes").path("test1").textValue();

если значение равно нулю, путь не существует, если вы получаете ненулевое значение, тогда путь существует

...