def jsonString = """{ "Errors": [],
"Loans": [
{
"Applications": [
{
"id": 1,
"name": "test"
}
]
},
{
"Applications": [
{
"id": 2,
"name": "test3"
},
{
"id": 3,
"name": "test3"
}
]
}
]
}"""
def json = new groovy.json.JsonSlurper().parseText(jsonString)
//To get all loan application by Id
def getApplicationById = {id -> json.Loans.Applications.flatten().find{id == it.id}}
println getApplicationById(3)
ZGVmIGpzb25TdHJpbmcgPSAiIiJ7ICAiRXJyb3JzIjogW10sCiAgIkxvYW5zIjogWyAKICAgIHsKICAgICAgIkFwcGxpY2F0aW9ucyI6IFsKICAgICAgICB7CiAgICAgICAgICAiaWQiOiAxLAogICAgICAgICAgIm5hbWUiOiAidGVzdCIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICB7CiAgICAgICJBcHBsaWNhdGlvbnMiOiBbCiAgICAgICAgewogICAgICAgICAgImlkIjogMiwKICAgICAgICAgICJuYW1lIjogInRlc3QzIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImlkIjogMywKICAgICAgICAgICJuYW1lIjogInRlc3QzIgogICAgICAgIH0KICAgICAgXQogICAgfQogIF0KfSIiIgoKZGVmIGpzb24gPSBuZXcgZ3Jvb3Z5Lmpzb24uSnNvblNsdXJwZXIoKS5wYXJzZVRleHQoanNvblN0cmluZykKCi8vVG8gZ2V0IGFsbCBsb2FuIGFwcGxpY2F0aW9uIGJ5IElkCmRlZiBnZXRBcHBsaWNhdGlvbkJ5SWQgPSB7aWQgLT4ganNvbi5Mb2Fucy5BcHBsaWNhdGlvbnMuZmxhdHRlbigpLmZpbmR7aWQgPT0gaXQuaWR9fQpwcmludGxuIGdldEFwcGxpY2F0aW9uQnlJZCgzKQo=