Groovy 遍历地图的数组列表

Groovy iterate over Arraylist of Maps

我在声明性管道中工作,我有一个如下所示的字符串:

'[[key_A:value1, key_B:value2, key_C:value3],[key_A:value4, key_B:value5, key_C:value6],[key_A:value7, key_B:value8, key_C:value9]]'

我能否获得有关将字符串转换为映射的最快方法,然后检索数组列表中每个映射的值的帮助?

Can I get help on what the quickest way is to turn the string into a map, then retrieve values of each map in the arraylist?

您提供的输入字符串看起来不像地图,它看起来像地图列表。您可以使用类似这样的方法将字符串转换为映射列表(请注意,此处的值被引用,因此它们是字符串,否则您必须为 value1value2 等提供变量):

    def inputString = '[[key_A:"value1", key_B:"value2", key_C:"value3"],[key_A:"value4", key_B:"value5", key_C:"value6"],[key_A:"value7", key_B:"value8", key_C:"value9"]]'
    def inputList = Eval.me (inputString)

然后您可以遍历该列表以检索地图并对地图中的值执行任何您想做的事情:

    def inputString = '[[key_A:"value1", key_B:"value2", key_C:"value3"],[key_A:"value4", key_B:"value5", key_C:"value6"],[key_A:"value7", key_B:"value8", key_C:"value9"]]'
    def inputList = Eval.me (inputString)

    inputList.each { Map m ->
        println m.values()
    }