【问题标题】:postman read property in json response which name is saved in array邮递员读取json响应中的属性,其名称保存在数组中
【发布时间】:2021-12-18 15:21:25
【问题描述】:

我正在尝试在邮递员的 json 响应中检查某些属性的值。

pm.expect(jsonData.property).not.equal(null);

问题是,我需要检查我存储在数组中的多个属性。

var jsonData = pm.response.json();
var keys = ["id", "phoneNumber", "passwordHash"];

pm.test("All values have valid value", function(){
   for(var a = 0; a < keys.length; a++){
      pm.expect(jsonData.keys[a]).not.equal(null);
   };
});

但我收到此错误:

所有值都具有有效类型 | TypeError:无法读取未定义的属性“0”

谁能解释一下,请问我做错了什么? 感谢您的建议。

【问题讨论】:

    标签: javascript api postman


    【解决方案1】:

    您不能使用 (.) 点来获取未知键的值,请改用 [] 括号。试试这个:

    pm.expect(jsonData[keys[a]]).not.equal(null);
    

    在我看来,一个微妙的事情是使用i(平均指数)比a更好。

    【讨论】:

    • "i" 更好,我只是在示例中使用了“a” :) 非常感谢,它工作得很好。但我不知道我搞砸了什么,因为我之前尝试过 [] 括号。也许我只是忘记删除“。”。再次非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 1970-01-01
    • 2021-06-02
    • 2019-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多