【问题标题】:remove a key from map从地图中删除一个键
【发布时间】:2017-12-27 22:26:32
【问题描述】:

下面的 json 是 java.util.HashMap 类的类型

jsonRequest=[noOfMembers:2, coverageYear:2017, zipCode:99123, premiumList:[[Premium:203.05, Id:1000101], [Premium:205.36, Id:1000102], [Premium:207.67, Id:1000103], [Premium:209.98, Id:1000104], [Premium:212.29, Id:1000105]], members:[[id:5487, age:34, gender:M], [id:5488, age:32, gender:F]]]

我正在尝试通过在 groovy 中使用 jsonRequest= jsonRequest.remove("premiumList") 从下面的地图中删除高级列表。

当我打印 jsonRequest 时,它显示输出为

[{Premium=203.05, Id=1000101}, {Premium=205.36, Id=1000102}, {Premium=207.67, Id=1000103}, {Premium=209.98, Id=1000104}, {Premium=212.29, Id=1000105}]

如何在 groovy 中从我的地图中删除整个 premiumList?

【问题讨论】:

    标签: json groovy hashmap


    【解决方案1】:

    即使您的 java.util.HashMaphashmap 并且您尝试删除密钥,您也需要知道您的 jsonRequest 来自哪里。 AFIK,您尝试从请求中删除不允许删除的密钥?

    def jsonRequest = [noOfMembers:2, coverageYear:2017, zipCode:99123, premiumList:[[Premium:203.05, Id:1000101], [Premium:205.36, Id:1000102], [Premium:207.67, Id:1000103], [Premium:209.98, Id:1000104], [Premium:212.29, Id:1000105]], members:[[id:5487, age:34, gender:M], [id:5488, age:32, gender:F]]]
    ​def output = [:] << jsonRequest
    
    output.remove('premiumList')​
    

    【讨论】:

    • @fsi 你怎么知道jsonRequest 是不可变的? java.util.HashMap 100% 是可变的。现在 Monica 可能认为 Groovy 中的地图是不可变的,这是不正确的。
    猜你喜欢
    • 2012-03-31
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多