使用groovy访问地图数据

时间:2017-10-04 03:46:43

标签: groovy

这是我的代码。

def map = ['test.key.one': 'value1', 'test2.key2': 'value2']
def props = new Properties()
props.putAll(map)
println new ConfigSlurper().parse(props)   //[test:[key:[one:value1]], test2:[key2:value2]]
println(map['test2'])

println(map['test2'])的结果为null但我希望[key2:value2]。云你请帮帮我?

1 个答案:

答案 0 :(得分:1)

当您访问null时获得map['test2'],因为您向我们展示的代码不会修改map变量。如果你希望看到

[key2: value2]

访问密钥test2后,您必须分配

的结果
new ConfigSlurper().parse(props)

到一个值,然后在新创建的变量上访问test2键,例如

def map = ['test.key.one': 'value1', 'test2.key2': 'value2']
def props = new Properties()
props.putAll(map)
def config = new ConfigSlurper().parse(props)

assert config['test2'] == [key2: 'value2']