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

JMeter v2.13中用jp@gc-JSON Path Extractor实现同级条件提取可行吗?

实现JMeter中同级JSON Path条件提取的方案

没问题呀!完全可以实现同级别的JSON Path条件提取~结合你用的JMeter v2.13和jp@gc - JSON Path Extractor组件,针对你给出的JSON结构,我给你具体的实现方法:

先明确需求场景

你的JSON里views是一个数组,每个数组元素包含id、name、filter等同级字段。假设你想根据某个同级字段的条件(比如name匹配特定值),提取该元素下的其他字段值,这就是典型的同级条件提取场景。

具体JSON Path表达式示例

比如你要提取name为" EBS: EAS: IDC (EAS MBT IDC)"的那个views元素里的filter.id,可以用这个表达式:

$.views[?(@.name == ' EBS: EAS: IDC (EAS MBT IDC)')].filter.id

表达式拆解:

  • $.views:定位到根节点下的views数组
  • [?(@.name == 'xxx')]:过滤数组中满足条件的元素,@代表当前遍历的数组元素,这里匹配name字段和目标字符串完全一致(注意原JSON里name开头有空格,表达式里要保留)
  • .filter.id:获取符合条件的元素下,filter对象的id属性

其他常见条件提取示例

  • 如果要根据canEdit == true过滤,提取对应元素的id:
    $.views[?(@.canEdit == true)].id
    
  • 如果要提取符合条件元素的filter.name:
    $.views[?(@.sprintSupportEnabled == true)].filter.name
    

jp@gc组件配置要点

在jp@gc - JSON Path Extractor里做如下配置:

  • 变量名:给提取的值起个标识,比如target_filter_id
  • JSON Path表达式:填入上面的JSON Path语句
  • 匹配数字:如果只取第一个匹配结果填1;如果要获取所有匹配项填-1,之后可以通过target_filter_id_1、target_filter_id_2这样的变量访问不同结果
  • 默认值:可选,当没有匹配到结果时返回的默认内容

注意事项

  1. 字符串匹配要完全一致:包括空格、特殊字符,比如原JSON里的&不需要转义,直接用原字符串即可
  2. JMeter 2.13搭配的jp@gc组件支持这种过滤语法,如果遇到问题可以检查组件是否是兼容版本
  3. 如果你的JSON数组里有多个符合条件的元素,匹配数字填-1就能获取所有结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:32:53