Ask a Question

How to assert array response


How to assert array response

"id" : "1234",
"jsonfield1" : {
"jsonfield" : "xyz"


I got this response of my API. I dont know how to assert array.

Generally, I store in hashmap


def response_string = messageExchange.response.responseContent

def response_slurper = new JsonSlurper()
def response_hashmap = response_slurper.parseText(response_string)

assert =="123"

Its failing here since its an array. 


Looking for a snippet.

Community Leader



I would supply a snippet, but i cannot validate the json you presented in your sample...  the json editors I dropped your json into all returned a parse error.  The json sluper in SoapUI could not parse either.  Did you hand code the example or cut and paste directly from API response?  I cannot reproduce with your supplied sample.



Hi Todd,


This is the correct JSON

"id": "1234",
"name": "xyz",
"jsonfield1": {
"jsonfield": "xyz"

Hello henil_shah,


I think just adding an element number of the array/list to the assertion will work for you.  Groovy script sample below.



import groovy.json.*;

def jsonSampletxt = '''
"id": "1234",
"name": "xyz",
"jsonfield1": {
"jsonfield": "xyz"

def jsonSampleobj = new JsonSlurper().parseText(jsonSampletxt);
jsonSampleobj.each { item -> 'item=' + item.toString();
}; 'jsonSampleobj.size()= ' + jsonSampleobj.size(); ' '; '' +; '[0]=' +[0]; '' +; '[0]=' +[0];

assert[0] == '1234', "Element 0 of .id Array/List should be equal to '1234'";
assert[0] == 'xyz', "Element 0 of .name Array/List should be equal to 'xyz'"; 'Test Step "' + + '" done...';
SmartBear Alumni (Retired)

Hello everyone, 


@TNeuschwanger thanks for the assistance, it is much appreciated!


@henil_shah, have you had a chance to try the solution that Todd provided? Does it work for you?

We are looking forward to hearing from you!



Olga Terentieva
SmartBear Assistant Community Manager

Showing results for 
Search instead for 
Did you mean: