将网址查询字符串解析为Clojure映射

sor*_*eth 4 regex clojure

可能重复:
解析Clojure中URL参数的最简单方法是什么?

我想要一个像这样的字符串:

“ q = foo + bar&x = 14&y = hello”

并把它变成地图:

{:q“ foo + bar”,:x 14,:y“ hello”}

我敢肯定有一个优雅的惯用解决方案可以解决这个问题。

dno*_*len 5

(->> (split "q=foo+bar&x=14&y=hello" #"&") 
     (map #(split % #"=")) 
     (map (fn [[k v]] [(keyword k) v])) 
     (into {}))
Run Code Online (Sandbox Code Playgroud)