user2428084
user2428084

Reputation: 3

How to fetch JSON content values dynamically using JSON slurper in groovy

I am trying to filter out the JSON response values by passing on few parameters dynamically. Below is the code.

import com.eviware.soapui.support.XmlHolder
import groovy.json.JsonSlurper

responseContent = testRunner.testCase.getTestStepByName("Request 1").getPropertyValue("Response")
jsonresponse = new JsonSlurper().parseText(responseContent)

log.info jsonresponse.context["parameter"]

context["parameter"] stores the values from an Excel sheet and doing only a log.info for context["parameter"], it shows those values correctly. Below is the output of the code log.info context["parameter"].

Thu Dec 14 07:18:53 CST 2017:INFO:firstName
Thu Dec 14 07:18:53 CST 2017:INFO:lastName
Thu Dec 14 07:18:54 CST 2017:INFO:frNum
Thu Dec 14 07:18:54 CST 2017:INFO:notes 

But when I execute the code

log.info jsonresponse.context["parameter"]

Result:

Thu Dec 14 07:20:41 CST 2017:INFO:[]

Thu Dec 14 07:20:41 CST 2017:INFO:[]

Thu Dec 14 07:20:41 CST 2017:INFO:[]

Thu Dec 14 07:20:42 CST 2017:INFO:[]

Thu Dec 14 07:20:42 CST 2017:INFO:[]

log.info jsonresponse yields the below response out of which I need to get certain values (values stored in the context["parameter"])

Thu Dec 14 07:21:45 CST 2017:INFO:[{errorMessage=null, middleName=null, lastName=Kosnick, frName=Kosnick Steven H , mplastName=null, competeRgnTxt=null, doNum=null, gddUnitStDate=null, fdNum=null, mpfirstName=null, legalEntityID=null, noNum=null, contractType=Financial Rep, frNum=046426, offcNum=NO 091, notes=Active, fullTmeSrvDt=null, firstName=Steven, networkOfficeNum=091}]

Upvotes: 0

Views: 398

Answers (1)

sameer shaik
sameer shaik

Reputation: 111

Instead of this :

log.info jsonresponse.context["parameter"]

Try this :

log.info jsonresponse[context["parameter"]]

This should resolve your issue :)

Upvotes: 1

Related Questions