java - 如何从 jsonarray 检查特定的 json 数组参数值

标签 java json rest-assured rest-assured-jsonpath jsonapi-resources

我正在起诉让我的 api 自动化,这是我的 jsonResponse:-

{
    "al": [{
            "aid": 1464,
            "_r": "Bus Stand,",
            "_l": "spaze it park2,",
            "_c": ",",
            "_s": "Haryana,",
            "co": "India,",
            "pc": "122001",
            "fa": "Sona Road, spaze it park, Gurgaon, Haryana,",
            "fn": "225,",
            "lm": "omax mall",
            "pa": null,
            "at": 1
        },
        {
            "aid": 1462,
            "_r": "Bus Stand,",
            "_l": "spaze it park2,",
            "_c": "Gurgaon,",
            "_s": "Haryana,",
            "co": "India,",
            "pc": "122001",
            "fa": "Sona Road, spaze it park, Gurgaon, Haryana,",
            "fn": "225,",
            "lm": "omax mall",
            "pa": null,
            "at": 1
        },
        {
            "aid": 1461,
            "_r": null,
            "_l": null,
            "_c": "Gurgaon1",
            "_s": "",
            "co": null,
            "pc": "122003",
            "fa": "Gurgaon, HRyana, 122003",
            "fn": "",
            "lm": "",
            "pa": null,
            "at": -1
        },
        {
            "aid": 1460,
            "_r": "Bus Stand,",
            "_l": "spaze it park2,",
            "_c": "Gurgaon,",
            "_s": "Haryana,",
            "co": "India,",
            "pc": "122001",
            "fa": "Sona Road, spaze it park, Gurgaon, Haryana,",
            "fn": "225,",
            "lm": "omax mall",
            "pa": null,
            "at": 2
        }
    ]
}

现在我想对具有“aid”的 jasonarray 进行断言:1460,例如 lm、at 等参数的值是多少。我们如何才能放心地做同样的事情。还想知 Prop 有“aid”的jsonarray的索引位置:1460。 请帮助我!!

最佳答案

在内置断言中使用 REST Assured 测试 JSON 响应相当容易,但在您的情况下,您还需要数组的索引号,我不确定它是否可以找到。我认为这些方面的内容会有所帮助

Response res = given().
            get(url).
            then().
            statusCode(200).
            extract().
            response();


JsonArray arr=new JsonParser().parse(res.jsonPath().get("al").toString()).getAsJsonArray();

然后您可以使用 JSONArray 查找索引以及相应的元素。

关于java - 如何从 jsonarray 检查特定的 json 数组参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49379403/

相关文章:

javascript - AngularJS - 无法在 View 中访问检索到的 JSON 数据

spring-mvc - Spring MVC 集成测试 - 如何查找请求映射路径?

java - 更新计算器程序尾数时不稳定的双变量行为

javascript - 如何在json文件中添加或插入记录

java - Java 代码中的无限循环

python - Django 反序列化存储在模型字段中的 JSON

java - 如何使用 RestAssured 验证响应中的值列表

java - 如何使用 rest-assured 将 header 位置响应与正则表达式匹配

java - 使用 Intent 将 double 从一个类传递到另一个类时出现 NullPointerException

java - Java 中的奇怪行为