0

I have a groovy script code,

result  = new JsonSlurper().parse(<URL object>.newReader())
echo $result.propertykey    

    

Note : result is a Map which contains multiple key value pairs including propertykey1:propertyvalue1

Output :

'propertyvalue1' value is printed as expected.

I have written a method which will take different propertykey as input parameter (parameter name : propertykeyNameparam)

When I write echo result.$propertykeyNameparam I am expecting it to replace propertykeyNameparam with propertykey1 so it becomes result.propertykey1 and finally print propertyvalue1.

get_propertyvalue(propertykey1)
...
...
...
def get_propertyvalue(propertykeyparam) {
  result  = new JsonSlurper().parse(<URL object>.newReader())
  echo $result.propertykeyNameparam
  echo "result.$propertykeyNameparam"
  echo $result.$propertykeyNameparam
}

Issue :

echo $result.propertykeyNameparam <---- This line prints null.

echo "result.$propertykeyNameparam" <---- This line prints result.branch

echo $result.$propertykeyNameparam <---- This line prints whole result_Map.propertykeyNameparam

Expected output:

                   propertyvalue1
Vijay Kumar R
  • 41
  • 1
  • 1
  • 4

1 Answers1

0

Following code snippet solved my issue

for (entry in result) {
    if (entry.key == propertykey1)
    {
        echo "$entry.value"
    }
}
Vijay Kumar R
  • 41
  • 1
  • 1
  • 4