代码之家  ›  专栏  ›  技术社区  ›  plaidshirt

JMeter JSON提取器按条件获取值

  •  2
  • plaidshirt  · 技术社区  · 7 年前

    我得到一个 JSON 字符串如下:

    [{"id":123,"name":"XX","default":false,"type":"other"},{"id":789,"name":"ZZ","default":false,"type":"first"}]
    

    我想得到 id ,其中名称为 ZZ ,因此提取的值应为 789 . 我尝试使用这个JSON表达式:

    $.id[?(@.name=='ZZ')]

    {"id":(.+?),"name":"ZZ","default":false ,

    我的正则表达式解决方案不起作用,因为有类似的 name 价值观,比如 ZZ ZZ (XYZ) .

    2 回复  |  直到 7 年前
        1
  •  3
  •   Ori Marko    7 年前

    很接近,使用JSON提取器,您需要找到ZZ,然后获取返回对象的id,使用以下表达式:

    [?(@.name == 'ZZ')].id
    
        2
  •  0
  •   kamala a    6 年前

    在jmeter 4.0版本中,可以使用$。。token_id,但在jmeter 2中。x版本我们需要使用$。token\u id,即,应该只有一个点(.)在$之后,我面对了这个问题,现在它起作用了。