You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Postman Runner CSV传参时数组格式转换问题求解

Postman Runner 批量接口测试CSV参数格式化方案

Postman 读取CSV数据源的字段值默认全为字符串类型,直接在JSON请求体中做文本替换,要么会把数组元素包成字符串,要么直接破坏JSON语法,通过预请求脚本预处理参数是最稳定的解决方式,操作步骤如下:

  • 第一步:调整请求Body的变量引用逻辑
    不要直接在固定JSON结构里给{{items}}、{{store}}外层包双引号或者硬塞到数组位置,Postman的变量替换是纯文本替换,这种写法必然会触发格式错误或者类型不匹配。
  • 第二步:编写预请求处理脚本
    打开请求的Pre-request Script标签,粘贴以下代码:
    // 读取CSV中当前迭代的字段值,拆分逗号分隔的ID字符串,转为数字类型数组
    const itemList = pm.iterationData.get("items")
      .split(",")
      .map(idStr => Number(idStr.trim())); // trim处理CSV里可能存在的多余空格
    const storeNum = [Number(pm.iterationData.get("store").trim())];
    
    // 构造完全符合接口要求的请求体结构
    const validBody = {
      itemList: itemList,
      storeType: 7,
      storeNum: storeNum
    };
    
    // 将处理好的请求体转成JSON字符串,存为Postman变量
    pm.variables.set("validReqBody", JSON.stringify(validBody));
    

    如果使用的是旧版本Postman,pm.iterationData.get("字段名")可以替换为data.字段名读取CSV值,效果完全一致。

  • 第三步:引用处理后的请求体
    回到Body编辑页,选择raw格式,右侧类型下拉选JSON,内容仅填写变量引用即可:
    {{validReqBody}}
    

配置完成后再启动Postman Runner加载CSV运行,每轮迭代都会自动把CSV里的字符串值转成接口要求的数字数组结构,不会再出现JSON格式错误、数组元素类型不对的问题。


内容的提问来源于stack exchange,提问作者user2235290

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 00:45:30