2016-02-29 54 views

回答

2

对此,您可以使用clojure.end/read-string函数。它确保没有人向您的系统注入代码,但否则会解析clojure数据结构。前面加上“{”和追加“}”使其成为一个地图,可以分析这样:

(def stringtoparse ":first \"John\" :last \"Lukas\" :city \"London\"") 

(clojure.edn/read-string (str "{" stringtoparse "}")) 
+0

当我使用该模块clojure.edn我得到一个错误:ClassNotFoundException的clojure.edn java.net.URLClassLoader的.findClass(URLClassLoader.java:381) 我使用Clojure 1.7。这个模块只存在于Clojure 1.8中吗?无论如何在1.7版本中使用它? – CrazySynthax

+0

什么版本的clojure正在使用? clojure.edn命名空间自Clojure 1.5以来就存在。 –

+0

我使用1.7,我发现它在我没有提到“clojure.edn”时起作用。 Just(read-string(str“{”stringtoparse“}”)) - 它的工作原理! – CrazySynthax