当前位置:  开发笔记 > 编程语言 > 正文

Groovy映射点键到嵌套映射

如何解决《Groovy映射点键到嵌套映射》经验,为你挑选了1个好方法。

我有一个带点符号的键的地图,但我需要它作为嵌套地图.

[test.key.one: 'value1', text.key.two: 'value2']

现在的结果应该是

[
    test: [
        key: [
            one: 'value1',
            two: 'value2'
        ]
    ]
]

这是我对代码的想法

def extract(String key, String value) {

    if(key.contains(".")) {
        def (String target, String subKey) = key.split('\\.', 2)
        return ["$target": extract(subKey, value)]
    } else {
        return ["$key": extractType(value)]
    }

}

但是我想知道是否有任何时髦的魔法在封闭中做这件事,或者在其他好东西的帮助下使其变得更简单.



1> Dany..:

有一个方便的课程: groovy.util.ConfigSlurper

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

唯一的缺点是它需要java.util.Properties实例,所以你需要从中创建一个map.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有