【问题标题】:How to get JSONobject from JSONArray in postman如何在邮递员中从 JSONArray 获取 JSONobject
【发布时间】:2018-02-13 15:48:37
【问题描述】:

我正在尝试使用测试脚本在邮递员中自动化注册场景 我有以下 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),并且想要找到具有特殊电子邮件的对象(在数组中的某个位置),然后从该对象中获取 ID 并基于 JsonData 进行断言对象(捕获元素,例如检查名称)。

我该怎么做?

感谢您的支持。

我发送一个 GET 请求以从注册数据库中获取所有数据。 作为回应,我得到一个 JsonArray 从 Json Array 我需要断言的特定对象(例如,示例中带有电子邮件 user_B 的对象)。 我知道我的电子邮件地址,并且基于它我必须从 Object 中找出 ID。 当我知道哪个 ID 是我的 ID 时,我可以这样做,但如果它是动态的,我不知道如何在邮递员中搜索数组以获取 ID

例如,断言公司名称

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

但如果我不知道 ID(只知道我的电子邮件),我必须先找出 Object 的 ID,然后我才能断言它。

例如 在这种情况下,首先找到带有电子邮件“user_B@gmail.com”的对象 然后从该对象获取 ID 元素(在本例中为 4) 然后我想断言来自对象的所有数据

【问题讨论】:

  • 我之前已经评论过您的问题 - 这不是代码编写服务。你至少也需要展示你已经为实现这一目标所做的工作。这不是 Postman 特有的问题 - 这是对 JSON 数组和对象的理解。
  • 在一个请求中,我只从数据库中获得一个 JsonData 并将其保存在变量中,例如
  • 什么要求?不要添加有关您所做的事情的 cmets - 更新问题。展示你的作品。
  • 对不起,丹尼,我是 Postman 的新人。我已经更新了问题
  • 对 Postman 不熟悉不是问题。如果可以的话,总是很乐意提供帮助,但这不是一个说“我想这样做 - 告诉我如何做”的网站。您需要将您已经尝试过的内容添加到问题中,这样听起来就不仅仅是在要求某人为您编写解决方案。

标签: postman


【解决方案1】:

谢谢丹尼,我找到了解决办法

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)
    }
}

【讨论】:

  • 酷 - 这就是我获得价值观的方式,因此您正朝着正确的方向前进。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-29
相关资源
最近更新 更多