Postman如何向collection variable数组追加元素避免原有值被覆盖
Postman分页请求集合变量数组追加实现方案
问题根因
你之前的写法是直接拼接两个JSON序列化字符串,比如首次存储的数组序列化结果为[1,2,3],第二次新数组序列化结果为[4,5,6],直接拼接后会得到[1,2,3][4,5,6]这种非法JSON结构,既不符合数组追加逻辑,后续也无法正常解析使用。
正确实现步骤
- 先读取已有的集合变量,解析为JS数组,首次运行无值时默认赋值为空数组避免报错
- 合并已有数组和当前页获取到的新
items数组 - 把合并后的完整数组重新序列化后存回集合变量
完整可运行代码
// 读取已有数组,无值时初始化空数组 const existingArr = pm.collectionVariables.get("array") ? JSON.parse(pm.collectionVariables.get("array")) : []; // 合并新旧数组,两种写法二选一即可 // 写法1:concat方法 const fullArr = existingArr.concat(items); // 写法2:展开运算符(更简洁) // const fullArr = [...existingArr, ...items]; // 序列化后存回集合变量 pm.collectionVariables.set("array", JSON.stringify(fullArr)); // 继续调用下一页请求 postman.setNextRequest("Get Products");
注意事项
- 需确保当前页获取的
items始终为数组类型,否则合并会报错 - 每次重新跑全量采集前,可手动删除集合变量中的
array变量,避免累加之前的旧数据
内容的提问来源于stack exchange,提问作者Test Test
相关产品推荐
相关产品推荐

