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

Jmeter如何在循环中将JSON Extractor提取的值存入数组对象

JMeter循环提取响应ID存入统一数组操作步骤

步骤1:循环前初始化空数组

在循环控制器的外层前面添加一个JSR223 前置处理器,语言选择groovy,填入以下代码:

// 初始化空数组存入JMeter变量中
vars.putObject("categoryIdList", [])

步骤2:每次循环提取ID后追加到数组

在你的HTTP请求子节点下,JSON提取器的后面添加一个JSR223 后置处理器,语言选groovy,填入以下代码(假设你JSON提取器设置的变量名为category_id,可自行替换成你实际的变量名):

// 取出本次提取到的分类ID
def currentCategoryId = vars.get("category_id")
// 取出全局数组
def idList = vars.getObject("categoryIdList")
// 把当前ID追加到数组
idList.add(currentCategoryId)
// 回存更新后的数组
vars.putObject("categoryIdList", idList)

步骤3:循环结束后使用数组

循环结束后,任意位置都可以通过以下方式调用这个数组:

  • 打印日志验证:log.info("所有分类ID集合:{}", vars.getObject("categoryIdList"))
  • 转成逗号分隔的字符串使用:def idStr = vars.getObject("categoryIdList").join(",")
  • 取指定下标的ID:def thirdId = vars.getObject("categoryIdList").get(2)

注意事项

  • 所有JSR223元件必须选择groovy作为执行语言,不要使用BeanShell,避免性能问题和兼容性故障
  • JSON提取器的匹配编号需设置为1,仅提取每次响应的第一个目标ID
  • 如果需要存储数字类型的ID,追加时可以做类型转换:idList.add(currentCategoryId as Long)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:18:00