rutuja yewalekar
rutuja yewalekar

Reputation: 65

How to extract values from json in jmeter when the keys are unkown?

I have a json response as, { 'sadasd123242' : 'asdadada122dfsfs', 'dadsadaskljk' : 'adasdasdasdsadds' } I want to extract the keys from the response in jmeter test using the JSON extractor. I am unable to do this as I do not know the keys in the response. How do I get the keys ?

Upvotes: 0

Views: 1696

Answers (2)

Dmitri T
Dmitri T

Reputation: 168217

Assuming you have the response in the following format:

{
  "data": {
    "assets": {
      "sadsad12dwqqwe": "asda1212312",
      "asdasd1213123": "asdas2131231"
    }
  }
}

You can extract key names using JSR223 PostProcessor and the following code:

new groovy.json.JsonSlurper().parse(prev.getResponseData()).data.assets.eachWithIndex{ def node, int idx ->
    log.info('Key ' + idx + '=' + node.getKey())
    vars.put('key_' + idx, node.getKey())
}

It will print key names into jmeter.log file and create JMeter Variables like:

- `${key_1}`
- `${key_2}`
- etc.

holding the required "key" values.

Demo:

JMeter Groovy Extract Keys From JSON

References:

Upvotes: 2

sunny_teo
sunny_teo

Reputation: 1999

Considering first value as key which is dynamic and second value you have to fetch.

You can use "Boundary extractor" post processor in that case by defining the left and right boundary as shown in the below image.

Check the below test for boundary expression to get the desired result:- enter image description here

Hope this help.

Upvotes: 0

Related Questions