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

放心json数组有一个大小但为空的对象

慕仲渊
2023-03-14

我有一个带有GET方法的Rest API,其响应如下所示:

[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{,{,},{,{,},{,{,},{,{,},{,{,}这个响应的大小基于查询字符串是可变的,所以我不能用size方法验证它。

使用rest-assured,如何验证JSON响应有空对象,但JSON数组的大小不是零?

换句话说:validate JSON没有键值对,数组大小大于零。

我试过:

    body("", Matchers.emptyArray());
    body("", Matchers.nullValue());
    body("isEmpty()", Matchers.is(true))

有什么建议吗?

共有1个答案

严远
2023-03-14

可以使用JsonPath(com.jayway.JsonPath.JsonPath)。

String res = "[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]";
List<Object> list = JsonPath.read(res, "$[*]");
System.out.println(list.size());
//25

pom.xml

<dependency>
    <groupId>com.jayway.jsonpath</groupId>
    <artifactId>json-path</artifactId>
    <version>2.6.0</version>
</dependency>
 类似资料:
  • 我是新来的,请放心。我尝试了下面的代码来获得响应 这是json响应 如何计算id或列表的大小。帮助我。

  • 问题内容: 我正在尝试使用gson将json字符串转换为对象。 我在下面有一个非常简单的示例,它可以运行,但是结果答案为空,即:我的Answer对象的文本字段为空。 问题答案: 因为您的JSON与您的课程不符。 现在,您的JSON是一个对象数组,每个对象包含一个对象作为字段。 JSON的处理方式如下所示: 编辑以添加评论: 如果您无法更改输出,则需要一个“包装器”。就像是: 并使用这些数组。这就是

  • 我怎么能那么做?

  • 给定我有这个JSON数组: 我想使用Rest-assured使用它的给定/when/then结构来验证字段的格式。 我如何放心地循环并对JSON数组中的每个值应用测试? 我不知道JSON数组中会有多少个值。它可能只有1;它可能是100。

  • 示例JSON 我想要一个数组[属性1,属性2] 如何使用est保证的JSON路径提取器实现?

  • 问题内容: 在我目前正在从事的一个项目中,我遇到了一个角度异常: 在寻找解决方案的搜索中,我直接在浏览器中输入了Web服务的URL,但令人惊讶的是,我没有收到预期的数组。 Web服务类: 当我输入网址时,我希望看到带有JSON对象的JSON数组: 但是,相反,我收到的JSON对象的属性与我期望的JSON对象相同,没有任何数组: 所以我想知道为什么没有数组,当我添加另一个Clazz对象时会发生什么。