Reputation: 789
I have used BSF Postprocessor to parse json in one of my jmeter test files. My code is as follow.
eval('var response = '+prev.getResponseDataAsString());
vars.put("userAccountID", response.ID);
But i have found that BSF post processor reduces Jmeter's performance. So i am going for JSR223 Post processor. I need to know what is the corresponding code for above in JSR223 (JAVA language). Thanks in advance;
Upvotes: 4
Views: 14457
Reputation: 405
I suggest to use jsr223 assertion and javascript. Then you can just simply check and parse your data. for example:
var response = SampleResult.getResponseDataAsString();
var jsonOutput = JSON.parse(response);
Now you can simply operate on "jsonOutput".
#UPDATE#
Looks like in new JMeter version using javascript is deprecated because of performance and lack of options to manipulate data. (Back then when i was test developer my example had been working just fine; thats why i show it here) Probably better option is to migrate to Groovy: http://michalsi.github.io/performance-tests/2018/01/08/jmter-working-with-json.html
Upvotes: 4
Reputation: 168002
There is no out-of-box support of JSON in Java SE hence sample code will depend on JSON library for Java you choose.
May I suggest take a look at JSON Path Extractor Post Processor instead? It is designed to parse JSON data and doesn't require any scripting.
For more information on the JSON Path Extractor see Using the XPath Extractor in JMeter guide (scroll down to "Parsing JSON" section)
Upvotes: 0