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

Postman使用Pre-Request Script修改JSON Body添加数组元素问题求助

问题原因

  1. push()是仅数组类型可用的方法,你解析得到的declaration_obj是完整的根对象,不是目标rules数组,所以调用方法失败。你需要先定位到Common.Shared.test_policy.rules这个数组层级再执行新增操作。
  2. 你写的rule字符串包含不符合JSON规范的尾逗号,JSON.parse()会直接抛出语法错误。

修复后的Pre-Request Script代码

// 修复JSON语法,移除多余尾逗号
var rule = '{"name": "rule0","actions": [{"type": "accept","enabled": true}]}';
let rule_obj = JSON.parse(rule);
// 解析存储的变量
let declaration_obj = JSON.parse(pm.variables.get("declaration"));
// 定位到目标rules数组,unshift会把新规则插入数组头部,如果你要放到末尾改为push即可
declaration_obj.Common.Shared.test_policy.rules.unshift(rule_obj);
// 序列化后存入环境变量
let newDeclaration = JSON.stringify(declaration_obj);
pm.environment.set("newDeclaration", newDeclaration);

后续配置

POST请求的Body选择raw+JSON格式,直接填入{{newDeclaration}}即可使用修改后的请求体发起请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:06:02