地图的 JsonPath 语法

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

假设我有一个返回这种有效负载的网络服务

{
    "50": [
        {
            "temperature": 7,
            "day": "2023-01-02"
        },
        {
            "temperature": 6,
            "day": "2023-01-01"
        }
    ],
    "51": [
        {
            "temperature": 8,
            "day": "2023-01-01"
        }
    ]
}

响应包含与数据库中找到的物理设备数据一样多的数据。这里有 2 个,id 为“50”、“51”。

在 RestAssured 测试中,我可以使用以下代码片段验证身体的精确项目:

.body("'50'.size()", Is(2))
.body("'50'[0].temperature", Is(7))

但我还想验证一下,这个主体包含 2 个 id,而不是 1 或 3,...而不知道确切的值。

我找不到正确的语法来验证这个假设。有什么想法吗?

rest-assured jsonpath rest-assured-jsonpath
1个回答
0
投票

语法是

.body("keySet().size()", Is(2))

keySet()
将返回一个 Set of key,然后
.size()
将返回 Set 的大小。

© www.soinside.com 2019 - 2024. All rights reserved.