Reputation: 9387
def map = [name:"Gromit", likes:"cheese", id:1234]
I would like to access map in such a way that I can get the key
something like the output should be
map.keys returns array of string. basically i just want to get the keys
output:
name
likes
id
Upvotes: 60
Views: 145953
Reputation: 853
def map = [name:"Gromit", likes:"cheese", id:1234]
println map*.key
In groovy * is use for iterate all
Upvotes: 13
Reputation: 298818
try map.keySet()
and if you want an array:
map.keySet() as String[]; // thx @tim_yates
Or, more groovy-ish:
map.each{
key, value -> print key;
}
Warning: In Jenkins, the groovy-ish example is subtly broken, as it depends on an iterator. Iterators aren't safe in Jenkins Pipeline code unless wrapped in a @NonCPS function.
Upvotes: 101