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

JMeter中使用JSR223 PostProcessor创建JsonObject失败求助

解决JSR223 PostProcessor中JsonObject无法解析的问题

问题原因

你的脚本使用了com.eclipsesource.json.JsonObject类,但该类并非JMeter默认类路径中的依赖库,导致编译时无法找到该类,抛出unable to resolve class JsonObject错误。另外你尝试的JSONObject response = new JSONObject.(jsonString);存在语法错误(多了一个点)。

推荐解决方案:使用Groovy原生JSON工具

Groovy内置了便捷的JSON处理类,无需额外导入第三方库,更稳定易用。修改后的脚本如下:

import groovy.json.JsonSlurper
import groovy.json.JsonBuilder

// 获取前一个采样器的响应内容
def jsonString = prev.getResponseDataAsString()

// 解析JSON字符串为Groovy对象
def response = new JsonSlurper().parseText(jsonString)

// 删除指定字段
response.remove('reference')
response.remove('dateCreated')
response.remove('lastUpdated')

// 修改status字段值
response.status = "INACTIVE"

// 将修改后的对象转为JSON字符串,存入JMeter变量
def newPayload = new JsonBuilder(response).toString()
vars.put("newPayload", newPayload)

脚本说明

  • JsonSlurper:用于将JSON字符串解析为Groovy的Map/List对象,方便直接修改字段
  • JsonBuilder:用于将修改后的Groovy对象重新转为JSON字符串
  • vars.put("newPayload", newPayload):将最终的请求负载存入newPayload变量,后续采样器可通过${newPayload}引用

备选方案:添加第三方JSON库(不推荐)

如果坚持使用com.eclipsesource.json,需要:

  1. 下载对应的json.jar文件
  2. 将文件放到JMeter安装目录下的lib文件夹中
  3. 重启JMeter后重新运行脚本

但此方法需要维护第三方依赖,不如Groovy原生方案便捷。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 17:06:17