使用 JsonPath 验证返回列表的特定键的值

问题描述 投票:0回答:1

响应正文:

{
 "Items":[{
            "ID": 12,
            "Name": "n1",
            "Inactive": false
        },
        {
            "ID": 16,
            "Name": "n2",
            "Inactive": false
        },  ...etc
        ]
}

使用 JsonPath lib,我能够使用以下表达式获取特定元素(例如“非活动”)的所有值的列表。 '$.. 不活动' ---> [false, false,..etc]

但是,我不确定如何使用 JsonPathAssert 应用匹配器来断言上面的列表,以便它只包含“false”。

我正在使用Java,JsonPath。有人可以帮我吗?

java json assertions hamcrest jsonpath
1个回答
0
投票

经过一番搜索,我能够断言列表 - 它应该只包含“false”,如下所述。

org.hamcrest.MatcherAssert.assertThat(actualJson.toString(), JsonPathMatchers.hasJsonPath("$..Inactive", Matchers.everyItem(Matchers.equalTo(false))));
© www.soinside.com 2019 - 2024. All rights reserved.