Groovy 如何将属性指定给嵌套对象?
我有一个过滤器循环,用于将列表项与嵌套对象项进行比较: 处理文章成员:Groovy 如何将属性指定给嵌套对象?,groovy,Groovy,我有一个过滤器循环,用于将列表项与嵌套对象项进行比较: 处理文章成员: processArticlesNumbers = ["1", "2", "3"] [Business_Unit1: [Supplier1: ["2", "5", "8"], Supplier2: ["2", "5", "8"] ], Business_Unit2: [Supplier3: ["2", "5", "8"], S
processArticlesNumbers = ["1", "2", "3"]
[Business_Unit1:
[Supplier1:
["2", "5", "8"],
Supplier2:
["2", "5", "8"]
],
Business_Unit2:
[Supplier3:
["2", "5", "8"],
Supplier4:
["2", "5", "8"]
],
]
文章地图:
processArticlesNumbers = ["1", "2", "3"]
[Business_Unit1:
[Supplier1:
["2", "5", "8"],
Supplier2:
["2", "5", "8"]
],
Business_Unit2:
[Supplier3:
["2", "5", "8"],
Supplier4:
["2", "5", "8"]
],
]
我想筛选出与具有相同结构的新对象不匹配的值并分配这些值(expiredAndNewArticlesMap
)
目前,我收到以下错误:
expiredAndNewArticlesMap.$({->…})。$({->…})”是一个方法调用
表达式,但它应该是变量表达式
如何将值分配给嵌套对象?要从字符串名称访问任意属性,需要使用GString,如:
expiredAndNewArticlesMap."${businessUnit}"
及
您还可以通过按键以更清晰的方式访问地图:
expiredAndNewArticlesMap[businessUnit]
如果要从包含字符串的变量中指定特定键,则需要将其括在括号中:
expiredAndNewArticlesMap."${businessUnit}" = [(supplier): []]
对gstring使用属性访问有点复杂。只需使用
[x]
。