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

JMeter如何使用JSON提取器拆分拼接值传递单个参数构造请求体

高并发场景下的零额外开销实现方案

直接使用JMeter内置的Groovy函数做内存级字符串替换即可,完全不需要读写CSV、新增额外后置处理器,5000并发下性能损耗可忽略。

具体实现

直接在请求体中使用如下写法构造参数:

{"content_id": ["${__groovy(vars.get('identifier_ALL').replace(', ', '","'),)}"]}

逻辑说明

  • 该写法直接读取内存中存储的identifier_ALL变量值,将变量值中默认的分隔符, (逗号+空格)替换为","
  • 以示例值123, 456, 789为例,替换后中间段为123","456","789,搭配外层包裹的["和"],最终生成的数组结构完全匹配预期格式:["123","456","789"]
  • 该写法自动适配任意数量的匹配值,无需提前判断返回值个数。

性能优势

  • 全程纯内存操作,无任何磁盘IO开销,不会产生CSV读写带来的性能损耗
  • Groovy脚本在JMeter中默认开启编译缓存,单次字符串处理耗时为微秒级,不会拉长接口响应时间
  • 无需安装任何第三方插件,脚本兼容性强

备选写法(JMeter 5.4.1+版本可用)

如果使用的是5.4.1及以上版本的JMeter,可直接使用内置的字符串替换函数,写法更简洁:

{"content_id": ["${__strReplace(${identifier_ALL},", ",",\"",)}"]}

注意:不要使用BeanShell实现同类逻辑,BeanShell为解释执行,高并发场景下性能远低于Groovy,会额外增加压测端的性能消耗。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 11:57:21