cancel
Showing results for 
Search instead for 
Did you mean: 

Groovy best practices - How to set the root node when extracting data from a response?

Highlighted
Occasional Contributor

Groovy best practices - How to set the root node when extracting data from a response?

See this code:

 

def jobDate = context.expand( '${GetJobInfo#Response#$[\'jobData\'][0][\'jobDate\']}' )

 


I see this kind of code too many times in a codebase. For example, it will be repeated for each variable inside jobData json object. This is an eyesore for the reader and makes it harder to understand the code.

Is there a way to set the root node in context.expand(...)? So, I could set the root node as jobData[0] and refer to all the elements inside it without using the full path.

I guess I could also create a variable rootPath and keep changing it as needed. Would that work?

2 REPLIES 2
Highlighted
Community Leader

Re: Groovy best practices - How to set the root node when extracting data from a response?

@rajs2020 : If it is an array, then instead of using context of expand you can use jsonSlurper to get the value from the array by iterating over each element. Refer below link for documentation

 

json-slurper 


Click "Accept as Solution" if my answer has helped,
Remember to give "Kudos" 🙂 ↓↓↓↓↓



Thanks and Regards,
Himanshu Tayal
Highlighted
Occasional Contributor

Re: Groovy best practices - How to set the root node when extracting data from a response?

Thanks. Is it okay to use JsonSlurper for a project at work? I wonder if this library is used widely in the software industry and specifically inside ReadyAPI. That would make me more confident about using it. I don't want a new library to become a hindrance because its hard to use, has no active maintainers etc.

New Here?
Join us and watch the welcome video:
Announcements