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

使用Groovy修改JMeter请求体内联JSON变量属性赋值异常咨询

JMeter Groovy脚本修改JSON属性异常修复

问题根因

你当前脚本的链式写法存在逻辑错误:在链式调用中直接执行属性赋值时,Groovy会将赋值操作的右值(即false)作为整个表达式的返回值传入JsonBuilder,最终序列化输出只有布尔值false,不会生成你需要的完整JSON结构。
另外你贴出的示例JSON末尾存在多余逗号,实际存储在JMeter变量中的JSON需要保证语法合法,否则会触发解析报错。

正确实现代码

将以下代码直接填入请求Body Data区域即可,注意${之间不要加空格,否则JMeter无法识别函数:

${__groovy(
    // 解析JMeter变量中存储的JSON字符串为对象
    def notificationObj = new groovy.json.JsonSlurper().parseText(vars.get('notification'))
    // 修改目标属性
    notificationObj.isRead = false
    // 重新序列化为JSON字符串返回
    return new groovy.json.JsonBuilder(notificationObj).toPrettyString()
,)}

可选优化

  • 如果不需要格式化缩进的JSON结构,可以将toPrettyString()替换为toString(),减小请求体体积
  • 如果需要把修改后的JSON同步存回JMeter变量供后续请求使用,可以在return语句前加一行vars.put('notification', new groovy.json.JsonBuilder(notificationObj).toString())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 00:51:24