空手道 - 如何计算 JSON 响应中嵌入元素的元素实例数

Karate - How count number of instances of element in JSON response with embedded elements

我想计算以下 JSON 字符串中 'id' 出现的总次数。

空手道有快速的方法吗?

如果它在顶层我可以做 response.result.length 但它们在 'test' 的嵌入元素中。我可以在 javascript 中做到这一点,但只是想知道空手道是否有更快的方法。

{
    "result": [
        {
            "test": [
                {
                    "id": "x",
                    "price": "£5.00"
                },
                {
                    "id": "y",
                    "price": "£10.00"
                },
                {
                    "id": "z",
                    "price": "£10.00"
                },
                {
                    "id": "a",
                    "price": "£10.00"
                }
            ]
        },
        {
            "test": [
                {
                    "id": "b",
                    "price": "£5.00"
                },
                {
                    "id": "c",
                    "price": "£10.00"
                }
            ]
        }
    ]
}

给你:

* def ids = $..id
* assert ids.length == 6

请花点时间阅读文档中的 JsonPath。