JMeter JSON Extractor to get value by condition

2019-07-25 00:33发布

问题:

I get a JSON string like this:

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

I would like to get id, where name is ZZ, so extracted value should be 789. I tried with this JSON expression:

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

I tried with regular expression too:

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

My regular expression solution isn't working, because there are similar name values, like ZZ and ZZ (XYZ).

回答1:

You were close, with JSON extractor you need to find ZZ and then get the id of the object return, use the following expression:

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


回答2:

in jmeter 4.0 version its okay to use $..token_id, but in jmeter 2.x version we need to use $.token_id i.e, there should be only one dot(.) after $, i faced the issue and now its working.