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

JMeter中如何在For Each控制器内访问当前变量属性?

在JMeter的For Each控制器中提取JSON对象内部字段值

前提确认

假设你已通过For Each控制器遍历JSON对象列表,当前循环的JSON对象已存入变量(示例命名为current_obj),以下两种方法可提取内部字段值:


方法1:使用JSR223元件(推荐,灵活高效)

在For Each控制器内部添加JSR223 PreProcessor(或JSR223 Sampler),选择Groovy语言,输入脚本:

import groovy.json.JsonSlurper

// 获取当前循环的JSON字符串
def jsonStr = vars.get("current_obj")
// 解析为JSON对象
def jsonObj = new JsonSlurper().parseText(jsonStr)

// 提取字段并保存为JMeter变量
vars.put("field1_val", jsonObj.field1)
vars.put("field2_val", jsonObj.field2)

后续元件中直接用${field1_val}、${field2_val}即可访问对应字段值。

注意:若字段名含特殊字符(如空格、连字符),改用jsonObj["field-name"]的形式访问。


方法2:使用JSON Extractor

在For Each控制器内部添加JSON Extractor,按以下配置:

  • 引用名称:field1_val(自定义变量名)
  • JSON Path表达式:$.field1
  • 要测试的响应字段:current_obj(填存储当前JSON对象的变量名)
  • 匹配数字:1(取第一个匹配结果)

重复上述步骤添加第二个JSON Extractor,将引用名称设为field2_val,JSON Path表达式改为$.field2,即可提取field2的值。


额外检查点

  • 确认For Each控制器的「输入变量前缀」正确:比如你的JSON列表变量是json_list_1、json_list_2...,则前缀填json_list
  • 可通过Debug Sampler查看current_obj变量,确认其存储了完整的JSON字符串

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 15:57:16