在Postman的for循环中能否动态递增全局变量名称?
解决动态生成带数字后缀的全局变量名问题
嘿,这个问题其实很容易搞定——你只需要通过字符串拼接来动态生成变量名称就行啦!你之前写的"var_id"[i]是在访问字符串的第i个字符,这显然不是你想要的效果。
修正后的完整代码
var index_id = []; var jsonData = JSON.parse(responseBody); for (var i = 0; i < jsonData.list.length; i++) { var counter = jsonData.list[i]; index_id[i] = counter.id; // 核心:用字符串拼接生成带数字后缀的变量名 pm.globals.set("var_id" + i, index_id[i]); }
关键逻辑说明
"var_id" + i会在每次循环时自动拼接成var_id0、var_id1、var_id2……这类你需要的变量名,完美匹配你的预期。- 循环执行完成后,你就能在Postman的全局变量列表里看到这些带数字后缀的变量,每个变量对应着接口返回列表中对应位置的
id值。
如果之后需要调用这些变量,比如获取第一个id,直接用pm.globals.get("var_id0")就可以啦。
内容的提问来源于stack exchange,提问作者Kiran Cherian
相关产品推荐
相关产品推荐

