Postman集合运行器请求体出现[object Object]问题解决方法
问题根因
出现[object Object]是两处配置错误导致的:
- 预请求脚本序列化了整个迭代数据对象(也就是你导入的JSON里带
articles字段的那层外层对象),没有提取你实际需要的内层文章数组 - 请求体在变量外额外套了一层方括号,和你预期的结构不符;Postman替换变量时,如果变量对应的对象没有被正确序列化为JSON字符串,默认调用
toString()方法就会输出[object Object]。
修复方案
根据你的使用场景二选一即可:
方案1:单次请求直接发送完整文章数组(完全匹配你给出的预期请求体格式)
- 替换预请求脚本,只提取迭代数据中的
articles字段再做JSON序列化:
pm.globals.set("articles", JSON.stringify(pm.iterationData.get("articles")));
- 修改请求体(选择
raw-JSON格式),去掉外层多余的方括号,直接引用变量:
{{articles}}
改完后发送的请求体就是纯文章数组结构,不会再出现[object Object]的问题。
方案2:批量迭代,每次请求发送单篇文章
如果你是想通过集合运行器批量发起请求、每次传一篇文章,不需要写预请求脚本,直接调整两处配置:
- 修改导入的测试数据文件,去掉外层包裹的
articles字段,把数组直接改成文章对象列表:
[ { "created_date": "2019-04-09T12:00:00Z", "author_id": "4421-45V2-1909-2404-0143-J9936", "article_title": "the lord of the nameless", "article_content": "But I must explain to you how all this mistaken idea of denouncing..." }, { "created_date": "2022-03-01T01:00:00Z", "author_id": "090W-73W4-4407-3902-352P-193W9", "article_title": "avian shadow", "article_content": "The European languages are members of the same family..." } ]
- 请求体(
raw-JSON格式)直接用变量占位写单篇文章的结构:
{ "created_date": "{{created_date}}", "author_id": "{{author_id}}", "article_title": "{{article_title}}", "article_content": "{{article_content}}" }
配置完成后运行集合,Postman会自动遍历数据文件里的每一条文章记录,逐次发起请求。
内容的提问来源于stack exchange,提问作者Mathisha Karunaratne
相关产品推荐
相关产品推荐

