假设我有张地图:
Map exampleMap = ["person1": ["firstName": "John", "lastName": "Doe", "id": "1"], "person2": ["firstName": "Jane", "lastName": "Doe", "id": "2"]]我想迭代这个Map并打印出键和值。
例如:
exampleMap.each{ item, key ->
println item[key]
println item["firstName"]
println item["lastName"]}
我想要的样本输出:
person1
John
Doe上面的方法给了我一个错误:
Caught: groovy.lang.MissingPropertyException: No such property: firstName for class: java.util.LinkedHashMap$Entry我试过:
Map exampleMap = ["person1": ["firstName": "John", "lastName": "Doe", "id": "1"], "person2": ["firstName": "Jane", "lastName": "Doe", "id": "2"]] as ConfigObject
def props = exampleMap.toProperties()但是它将输出key作为一个person1.firstName。是否可以只输出person1
或者什么是最好的方法来解决这个问题?
发布于 2022-06-24 00:00:13
您混淆了闭包参数顺序:
Map exampleMap = ["person1": ["firstName": "John", "lastName": "Doe", "id": "1"], "person2": ["firstName": "Jane", "lastName": "Doe", "id": "2"]]
exampleMap.each{ key, item ->
println key
println item["firstName"]
println item["lastName"]
}在Groovy Web控制台里试一试。
https://stackoverflow.com/questions/72737705
复制相似问题