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
  • 5,791
  • 5
  • 29
  • 34

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
  • 151,581
  • 34
  • 225
  • 281
user7294900
  • 52,490
  • 20
  • 92
  • 189
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
  • 5,791
  • 5
  • 29
  • 34