JMeter JSON 提取器按条件获取值

JMeter JSON Extractor to get value by condition

我得到这样的 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 值,例如 ZZZZ (XYZ)

你很接近,使用 JSON 提取器你需要找到 ZZ 然后获取对象的 ID return,使用以下表达式:

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

在 jmeter 4.0 版本中可以使用 $..token_id,但在 jmeter 2.x 版本中我们需要使用 $.token_id 即,应该只有一个点(.) 在 $ 之后,我遇到了这个问题,现在它正在工作。