我有一個有趣的問題:我無法訪問我的hashmap鍵。如何訪問grails中的hashMaps
我有以下的HashMap:
{a=Retrieve User Account call failed, b=This user has multiple accounts}
我得到空變量的時候我做任何操作:
"${myMap.get('a')}"
"${myMap['a']}"
"${myMap.a}"
我從拿到假值:
"${myMap.containsKey('a')}"
"${myMap.keySet().contains('a')}"
但當我這樣做時,我會變得真實:
"${myMap.keySet()[1] == 'a'}"
什麼問題?我怎麼能在hashmap鍵或keySet上調用contains
來查明'a'是否在hash/list中?
如果有幫助的任何,我使用Groovy 2.3.0-RC-2插件對Groovy/Grails的工具套件和Grails 2.4.1
這不是一個有效的HashMap,看起來是某種真正打破JSON的。 –
你所描述的並不是真的可能,但考慮到你在示例中代表Map的方式,很難說它是否是一個Map。除此之外,如果您的Map中包含「a」鍵,並且與該鍵關聯的值爲String「Retrieve User Account call failed」,則myMap.get('a')'''myMap [ 'a']'和'myMap.a'都將評估爲字符串「檢索用戶帳戶調用失敗」。 –
@JoshuaMoore它沒有被破壞JSON,它是java Map的標準'toString()'。 –