如何在具有动态密钥的邮递员中解析嵌套的json对象?

时间:2018-02-28 13:38:17

标签: json postman

我有来自API的JSON响应,其中104和2是动态变化的,我已经在环境变量中设置了这些值,例如: {location_id} = 2,{account_id} = 104 任何人都可以帮助解决如何解析JSON并根据邮递员测试部分中的位置ID的环境变量值获取位置对象

{
    "104": {
        "2": [
            {
                "FirstName": "John",
                "LastName": "McClain",
                "Phone": "1234567890"
           }
        ],
        "3": [
            {
                "FirstName": "Rita",
                "LastName": "Maria",
                "Phone": "3092432345"
           }
        ]
    }
}

1 个答案:

答案 0 :(得分:1)

这是一个非常可怕和片状的方法来“测试”问题中的响应JSON的值。这假设在上一个请求中设置的environment变量为account_id = 104location_id = 3。这会执行硬编码检查,以查看该对象中的FirstName属性,等于'Rita'。

pm.test('Get the values', () => {
    var jsonData = pm.response.json()[pm.environment.get('account_id')][pm.environment.get('location_id')]
    pm.expect(jsonData[0].FirstName).to.equal('Rita')
})

很难说出你真正想要对数据做什么,这个测试不是我会使用的,但如果你只是想深入了解如何根据一些environment vars解析数据这至少是一个起点。

如果提供了更多信息,我会更新我的回答以反映这一点。