当前位置: 首页 > 知识库问答 >
问题:

请放心,验证JSON主体是否包含列表中的所有字符串

公冶子琪
2023-03-14

基本上,我构建了一个包含JSON对象主体字段名字符串的列表。

大概是这样的:

List<String> fieldNames = new ArrayList<String>();

然后我使用Rest assured获得了JSON格式的响应,如下所示:

{
"id": 11,
"name": "CoolGuy",
"age": "80",
}

所以我的列表包含“身份证”、“姓名”和“年龄”。如何验证JSON字段与列表中的字符串匹配。不取决于他们的订单。

我只知道如何验证它包含一个String,下面是我使用的整个JUnit测试方法:

@Test
public void verifyJSONMatch() {
    given().auth().basic("user", "pass").when()
    .get(getRequestURL).then().body(containsString("id"));      
}

有什么建议吗?

共有2个答案

徐俊人
2023-03-14

最简单的方法可能是将响应提取为Java对象,然后断言提取的对象与上面JSON中的对象相同。

MyObject expectedObject = new MyObject(11, "CoolGuy", "80");
MyObject myObject = 
    given().auth().basic("user", "pass")
        .when().get(getRequestURL)
        .then().extract().response().as(MyObject.class);
assertEquals(expectedObject, myObject);

您可以根据需要为其创建构造函数。我想你的目标可能比上面显示的要复杂得多。然而,这是一种更容易断言相等性的方法,并且易于重用。

卢鸿博
2023-03-14

您可以提取响应

ResponseOptions response = given().spec(request)
                    .get("/url_path");

然后解析一个json

DocumentContext parsedJson = JsonPath.parse(response.getBody().asString());
            assertThatJson(parsedJson).field("['id']").isEqualTo("11");
 类似资料:
  • 我试图检查String arrayList中的某个字符串是否包含Character arrayList中的所有字符。 这就是我目前正在尝试的: 这是我运行程序时遇到的错误: 错误来自这一行: 如果有人对如何解决这个问题有任何建议,我将不胜感激!

  • 本文向大家介绍Go 验证字符串中是否包含中文(推荐),包括了Go 验证字符串中是否包含中文(推荐)的使用技巧和注意事项,需要的朋友参考一下 发现一个验证字符串是否包含中文滴时候,一个比正则更好使滴方法,而且是golang 自带滴验证。 不需要自己写正则验证,代码如下: 比正则好用 无论从事什么行业,只要做好两件事就够了,一个是你的专业、一个是你的人品,专业决定了你的存在,人品决定了你的人脉,剩下的

  • 问题内容: 如何检查字符串中是否包含字符列表,例如“ ABCDEFGH”,如何检查字符串中是否有字符列表。 问题答案: 在Java中使用正则表达式检查在Java中使用 正则表达式 例如:

  • 问题内容: 我有这样的df: 以及物品清单: 我的目标是从中获取至少包含2个元素的所有行。 我想出了以下解决方案: 这给了我我想要的,但是就可伸缩性而言,它可能不是最佳的解决方案。是否有任何“向量化”解决方案?谢谢 问题答案: 我会建立一个Series列表,然后应用vectorized : 它给出了预期的结果:

  • 这个问题是由打字错误或无法再复制的问题引起的。虽然这里可能有类似的问题,但这一问题的解决方式不太可能帮助未来的读者。 总结: 对于我的商务课程,我们必须开发产品和/或服务。我正试图为其他团队开发一个解决方案,帮助他们管理库存。我已经有一个用Python开发的程序了,但是,C使开发GUI变得更容易(谢谢你,Visual Studio)。我在列表方面有困难。 以前检查过的资源: 在C中创建列表列表#

  • 我们如何在字符串列表中找到字母或特殊字符?我有一张单子,想看看里面有没有特别的字母。我试着去做,但出了一个错误。 代码: 获取错误: 我们不应该使用吗?或者,如果一个字符串有特殊的字母或特殊的字符,我们应该找到什么?