1

This is the code I am executing:

 import groovy.json.JsonSlurper
   def response= messageExchange.response.responseContent
   def jsonsl= new JsonSlurper().parseText(response)
   log.info jsonsl.results(0).id
   log.info jsonsl.results(0).houseName

Error:

No signature of method: groovy.json.internal.LazyMap.results() is applicable for argument types: (java.lang.Integer) values: [0] Possible solutions: values(), values(), equals(java.lang.Object), equals(java.lang.Object), equals(java.lang.Object), equals(java.util.Map
Biffen
  • 6,249
  • 6
  • 28
  • 36

2 Answers2

3

It seems you are trying to get first element in results array: jsonsl.results(0).id

The way to access first element in json array is by [] brackets:

log.info jsonsl.results[0].id
log.info jsonsl.results[0].houseName
undetected Selenium
  • 183,867
  • 41
  • 278
  • 352
Ori Marko
  • 56,308
  • 23
  • 131
  • 233
2

The code that you showed up:

import groovy.json.JsonSlurper
def response= messageExchange.response.responseContent
def jsonsl= new JsonSlurper().parseText(response)
log.info jsonsl.results(0).id
log.info jsonsl.results(0).houseName

You need to change some minor things like your brackets composition are wrong it should be like:

log.info jsonsl.results[0].id
log.info jsonsl.results[0].houseName
Biffen
  • 6,249
  • 6
  • 28
  • 36