Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure 从字符串表示中恢复映射_Clojure - Fatal编程技术网

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按照你的

我有一个字符串,它表示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