如何避免Postman Runner对迭代数据进行序列化?
解决Postman Runner发送原始JSON对象作为请求体的问题
你遇到的问题是因为pm.iterationData.toJSON()返回的是Postman内部封装的迭代数据结构,而非你上传的原始JSON对象,所以序列化后发送的是带id和values的格式。以下是两种可行的解决方法:
方法一:修改预脚本
将预脚本替换为以下代码,把Postman返回的values结构转换回原始的键值对对象:
const rawData = pm.iterationData.values.reduce((obj, item) => { obj[item.key] = item.value; return obj; }, {}); pm.request.body.raw = JSON.stringify(rawData);
方法二:直接使用请求体变量(更简洁)
不需要编写预脚本,直接在请求体的raw格式中输入{{$}},Postman会自动将当前迭代的原始JSON对象填充为请求体内容。
验证一下:启动Runner后,每个迭代都会发送和你JSON文件中完全一致的对象结构,比如第一个迭代会发送:
{ "title": "Project A Title", "role": "Project A Role", "from": "1970-01", "to": "1970-12" }
内容的提问来源于stack exchange,提问作者automatix
相关产品推荐
相关产品推荐

