2017-03-05 42 views
0

我在Groovy以下数据结构Groovy的 - 嵌套地图字符串的值更改为

Nested Map Groovy

我想知道,如果Groovy提供了一个简单的方式(最好是一个班轮)通过这个数据迭代结构,找到具有“代码”键的TreeMap条目并将trim()函数应用于其值。正如您在图像中看到的,键“代码”的值是“1880”。我想修剪它并使其成为“1880”。谢谢。

回答

0

我想这个和它的工作为您的数据:

ageTypes = ageTypes.collect { it.each { it.value = (it.value instanceof String) ? it.value.trim() : it.value } } 

UPD 我相信它可以在某种程度上进行优化。但需要检查如何。

+0

感谢您的回答安东!它看起来像这个代码修剪所有的地图值,这不是我所追求的。正如你会注意到的,当键是“_links”时,该值是一个LazyMap,当它试图修剪一个LazyMap时,我会得到一个异常。有没有一种方法可以过滤掉这些值,以便仅修剪字符串。 – user1066568

+0

对不起,错过了地图。通过类型检查更新答案。看起来有点长。可能会以某种方式缩短。 –