,可以通过递归遍历嵌套映射的方式来实现。以下是一个示例代码:
def flattenMap(map) {
def result = [:]
map.each { key, value ->
if (value instanceof Map) {
def flattenedMap = flattenMap(value)
flattenedMap.each { nestedKey, nestedValue ->
result["${key}.${nestedKey}"] = nestedValue
}
} else {
result[key] = value
}
}
return result
}
def nestedMap = [
"a": 1,
"b": [
"c": 2,
"d": 3
],
"e": 4
]
def flattenedMap = flattenMap(nestedMap)
println flattenedMap
上述代码中,我们定义了一个flattenMap
函数,该函数接受一个嵌套映射作为参数,并返回一个一维映射。函数内部使用递归的方式遍历嵌套映射,将嵌套映射中的键值对展开为一维映射。如果值是一个嵌套映射,则递归调用flattenMap
函数处理嵌套映射。
对于给定的嵌套映射nestedMap
,我们调用flattenMap
函数将其展开为一维映射flattenedMap
。最后,我们打印输出flattenedMap
。
这样,我们就能够从groovy中的嵌套映射返回一维映射了。
关于groovy的更多信息,可以参考腾讯云的Groovy介绍页面:Groovy介绍
领取专属 10元无门槛券
手把手带您无忧上云