我使用 Aleph 从 Redis 提取数据:
(apply hash-map @(@r [:hgetall (key-medication id)]))
问题是这些数据返回时带有键字符串,例如:
({"name" "Tylenol", "how" "instructions"})
当我需要它时:
({:名称“泰诺”,:如何“说明})
我之前通过以下方式创建了一张新地图:
{ :name (m "名称"), :how (m "如何")}
但这对于大量密钥来说效率很低。
如果有一个函数可以做到这一点?或者我必须循环遍历每个?
您还可以使用clojure.walk
库以通过该功能达到所需的结果keywordize-keys
(use 'clojure.walk)
(keywordize-keys {"name" "Tylenol", "how" "instructions"})
;=> {:name "Tylenol", :how "instructions"}
这也将递归地遍历映射,因此它也会对嵌套映射中的键进行“关键字化”
http://clojuredocs.org/clojure_core/clojure.walk/keywordize-keys http://clojuredocs.org/clojure_core/clojure.walk/keywordize-keys
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)