2017-03-05 33 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

對不起,錯過了地圖。通過類型檢查更新答案。看起來有點長。可能會以某種方式縮短。 –