Json 从映射中删除密钥

Json 从映射中删除密钥,json,groovy,hashmap,Json,Groovy,Hashmap,下面的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

下面的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”)从下面的映射中删除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?

即使您的
java.util.HashMap
HashMap
并且您试图删除一个键,您也需要知道您的
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')​
def jsonRequest=[noOfMembers:2,保险年度: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],[Id:5487,年龄:34,性别:M],[Id:5488,年龄:32,性别:F]]

​def output=[:]即使您的
java.util.HashMap
HashMap
并且您试图删除一个键,您也需要知道您的
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')​
def jsonRequest=[noOfMembers:2,保险年度: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],[Id:5487,年龄:34,性别:M],[Id:5488,年龄:32,性别:F]]

​def output=[:]@fsi您如何知道
jsonRequest
是不可变的
java.util.HashMap
是100%可变的。现在Monica可能认为Groovy中的映射是不可变的,这是不正确的。@fsi你怎么知道
jsonRequest
是不可变的
java.util.HashMap
是100%可变的。现在Monica可能认为Groovy中的映射是不可变的,这是不正确的。