Clojure 从字符串表示中恢复映射
我有一个字符串,它表示clojure映射。有没有一种简单的方法可以从字符串重建地图 字符串的一个示例-Clojure 从字符串表示中恢复映射,clojure,Clojure,我有一个字符串,它表示clojure映射。有没有一种简单的方法可以从字符串重建地图 字符串的一个示例- {:Location {:CountryData {:country_cf 99, :country_code "us", :country "united states"}, :longitude -80.17833, :msa 33100, :dma 528} 非常有趣。我从未使用过clojure,但在Lisp方言中,这是通过read函数完成的。我会冒险说,你可以在clojure按照你的
{:Location {:CountryData {:country_cf 99, :country_code "us", :country "united states"}, :longitude -80.17833, :msa 33100, :dma 528}
非常有趣。我从未使用过clojure,但在Lisp方言中,这是通过
read
函数完成的。我会冒险说,你可以在clojure按照你的意愿做这件事
因此,可能
(在字符串中使用str(读取))
?使用读取字符串
函数:
(read-string "{:Location {:CountryData {:country_cf 99, :country_code \"us\", :country \"united states\"}, :longitude -80.17833, :msa 33100, :dma 528}}")
明亮的我踢自己,因为我没有想到这一点!请注意,此函数调用clojure读取器,默认情况下该读取器允许代码求值,例如
(读取字符串“{:a#=(+1 2)}”)
调用+
函数。要防止出现这种情况,请将全局变量绑定到false
。