我有一根绳子:
{:id 1, :name "Ab Bc Cd", :sex "M", :birth "01.01.1999", :address "Street 1", :oms "0001"}我需要把它转换成HashMap但是
(hash-map my-str)返回{},因此我拆分了它:
(s/split my-str ",")然后它又回来了
[:id 1 :name "Ab Bc Cd" :sex "M" :birth "01.01.1999" :address "Street 1" :oms "0001"]然后
for [x my-arr]
(hash-map x)返回
({} {} {} {} {} {})我该怎么做?
发布于 2020-10-26 07:14:03
如果您有意获得此字符串,则请使用
例如。
user=> (require 'clojure.edn)
nil
user=> (clojure.edn/read-string (slurp "x.edn"))
{:id 1, :name "Ab Bc Cd", :sex "M", :birth "01.01.1999", :address "Street 1", :oms "0001"}发布于 2020-10-26 08:00:25
你的榜样就快到了!
你可以打个电话给
(into {} your-result-so-far)很多人都养成了寻找它的习惯。
发布于 2020-10-27 17:08:46
最短的方法将是clojure.core的read-string --从字符串中执行read,并执行用于构建对象的命令:
(def s "{:id 1, :name \"Ab Bc Cd\", :sex \"M\", :birth \"01.01.1999\", :address \"Street 1\", :oms \"0001\"}")
(read-string s)
;; => {:id 1, :name "Ab Bc Cd", :sex "M", :birth "01.01.1999", :address "Street 1", :oms "0001"}文件上说:
从字符串中读取一个对象。可选地包括读中指定的读取器选项。请注意,读字符串可以执行代码(由读-eval控制),因此应该只用于受信任的源。对于数据结构互操作,请使用clojure.edn/read-string
https://stackoverflow.com/questions/64532672
复制相似问题