如何从Postman中的Jsonarray获取JSONOBJECT



我正在尝试使用测试脚本在邮递员中自动化注册方案我有以下jsonarray作为回应:

[
    {
        "id": 1,
        "name": "user_A",
        "cntkp": "martin",
        "company": "kreativ",
        "tel": "12345678",
        "email": "user_A@gmail.com"
        "street": "str. 0001",
        "city": "DEF",
    }
    ......
    ......
    ......
    {
        "id": 4,
        "name": "user_B",
        "cntkp": "martin",
        "company": "kreativ",
        "tel": "12345678",
        "email": "user_B@gmail.com"
        "street": "str. 0002",
        "city": "NJ",
    }
    ......
    ......
    ......
    {
        "id": 10,
        "name": "User_C",
        "cntkp": "martin",
        "company": "kreativ",
        "tel": "12345678",
        "email": "user_C@gmail.com"
        "street": "str. 0003",
        "city": "ABC",
    }
    ......
]

阵列长度可以动态和更改(在此示例中为10(,并希望用特殊电子邮件(数组中的某个地方(找到对象对象(捕获元素,例如检查名称(。

我该怎么做?

感谢您的支持。

我发送getRequest,以获取注册数据库的所有数据。作为回应,我得到了一个jsonarray从JSON数组中,我需要主张的特定对象(例如,在示例中使用电子邮件user_b的对象(。我知道我的电子邮件地址和基础,我必须从对象中查找ID。当我知道哪个ID是我的ID时,我可以这样做

例如,断言公司名称

pm.expect(jsonData[0].company).to.equal(pm.environment.get("regDB_new_company"))

但是,如果我不知道ID(只知道我的电子邮件(,我就可以先找出对象的ID,然后我可以进行介绍。

例如。首先,在这种情况下,使用电子邮件" user_b@gmail.com"找到对象然后从该对象获取ID元素(在这种情况下4(然后,我想断言来自对象的所有数据

谢谢Danny,我找到了解决方案

var arr = pm.response.json()
for(i = 0; i < arr.length; i++) {
    if (arr[i].email == "userB@gmail.com") {
        pm.environment.set("personID", arr[i].id)
    }
}

最新更新