假设我有这样的嵌套地图
def someMap = [
a : [
b : [
c : "value",
d : "anothervalue"
]
]
]
我在运行时以字符串形式获取密钥。说是“ a.b.c”
如何从地图中提取值?
我知道我可以做myMap.a.b.c,但是对我来说,“ a.b.c”是单个字符串,我在运行时就知道了吗?
谢谢
答案 0 :(得分:0)
您可以像这样沿着节点走,然后尝试获取相应的子节点:
def key = "a.b.c"
def entry = someMap
key.split('\\.').each { entry = entry?.get(it) }
println entry?.value