joy
joy

Reputation: 216

Read YAML components from variable in groovy

I have a code like below

import groovy.yaml.YamlSlurper
def configYaml = '''\
---
application: "Sample App"
users:
- name: "mrhaki"
  likes:
  - Groovy
  - Clojure
  - Java
- name: "Hubert"
  likes:
  - Apples
  - Bananas
connections:
- "WS1"
- "WS2"
'''
// Parse the YAML.
def config = new YamlSlurper().parseText(configYaml)
def data1 = "users"
def date2 = "name"

println config.users.likes // printing correct 
println config.$data1.$data2 // getting error

I need to print elements from users.name and I need to print it from variable form. like "println config.$data1.$data2"

Upvotes: 1

Views: 1339

Answers (1)

ycr
ycr

Reputation: 14574

You can do something like below.

def config = new YamlSlurper().parseText(configYaml)
def data1 = "users"
def data2 = "name"

println config.users.likes
println config."$data1"."$data2" 

Upvotes: 1

Related Questions