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

JMeter技术问题:通过验证其他值提取对应JSON字段

解决JMeter中根据place_name提取对应icon的问题

以下是针对你的问题的具体解决建议:

  • 修正JSON Path表达式的变量引用
    直接在JSON Path中使用${new}可能会因为JMeter的变量解析顺序或字符串格式问题导致匹配失败,改用__jexl3函数处理变量,确保字符串比较的正确性:

    $..[?(@.place_name == '${__jexl3("${new}",)}')].icon
    

    这个写法会自动处理变量的引号包裹,避免因变量值的格式问题导致匹配失效。

  • 验证变量new的有效性
    添加一个Debug Sampler,查看变量new的实际取值,确认它确实是你期望的"Home"(无多余空格、引号或其他特殊字符)。如果new变量为空或取值错误,后续的匹配自然无法成功。

  • 检查JSON提取器与For Each Controller的配置

    • 确保JSON提取器的作用域覆盖了返回目标JSON的Sampler,且位置在该Sampler之后。
    • 当Match No设为-1时,提取器会生成如abc_1、abc_2的索引变量,在For Each Controller中,需将"输入变量前缀"设置为abc_(注意末尾的下划线),这样控制器才能遍历所有匹配的icon值。
  • 备选方案:通过索引关联提取
    如果目标JSON是对象数组,可拆分提取逻辑:

    1. 用第一个JSON提取器提取所有place_name,表达式$..place_name,变量名place_names,Match No -1
    2. 用第二个JSON提取器提取所有icon,表达式$..icon,变量名icons,Match No -1
    3. 在For Each Controller中遍历place_names_,使用__V函数关联对应索引的icon:
      ${__V(icons_${__jm__For Each Controller__idx},)}
      
      这样循环时,每个place_name都会对应到同索引的icon值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:18:28