如何在Postman中通过遍历列表获取JSON响应值
解决Postman中动态访问JSON响应属性的问题
问题原因
在JavaScript里,用**点语法(.)**访问对象属性时,属性名必须是固定的字面量字符串,所以responseData.i会被解析为访问名为"i"的属性,而非变量i对应的属性名(比如"Id"、"Fax")。另外responseData.get(i)报错是因为普通JSON对象没有get方法,这个方法属于Map这类特殊对象。
解决方法
改用**方括号语法([])**动态访问属性,方括号内可以直接传入变量,它会解析变量的值作为属性名,正好匹配你的需求。
修正后的测试代码
var responseData = pm.response.json() var list_data = ["Id", "Fax", "Active"]; for (i of list_data) { console.log(responseData.Id, responseData.Fax, responseData.Active); // 用方括号语法替代点语法,实现动态属性访问 console.log(i, responseData[i]); }
补充说明
- 方括号语法是JavaScript动态访问对象属性的标准方式,只要变量
i的值是对象的合法属性名,就能精准获取对应属性值,完全满足你要responseData.i等价于responseData.Id的需求。 - 运行修正后的代码,控制台会依次输出
Id、Fax、Active三个属性的名称和对应值,和预期效果一致。
内容的提问来源于stack exchange,提问作者Chang Tox
相关产品推荐
相关产品推荐

