RestAssured - 使用 Groovy gson 路径从嵌套对象获取值

RestAssured - Get values from nested object using Groovy gson path

如何使用放心从下面的结构中获取所有 zip 的列表?

{
    "persons":[
        {
            "name": "",
            "age":"",
            "addresses": [
                {
                    "city": "..",
                    "zip": ".."
                }
            ]
        }
    ]
}

预期结果是 List<String>,其中包含仅使用 groovy gson 路径的邮政编码。

这可行:

import io.restassured.path.json.JsonPath;
...

List<List<String>> temp = JsonPath.from(res).getList("persons.addresses.zip");
List<String> zips = temp.stream().flatMap(List::stream).collect(Collectors.toList());
System.out.println(zips);
//[..]

您可以使用 flatten() 方法获取邮政编码:

List<String> zips =JsonPath.from(res).getList("persons.addresses.flatten().zip")