-3
我想下面的數據轉換:Clojure的 - 從一種形式轉換到另一個數據
({"name" "databases", "columns" ["name"], "values" [["testdb"] ["mydb"]]})
到
({:name "testdb"} {:name "mydb"})
我摸不清我怎麼可以這樣整齊的Clojure的方式。
我想下面的數據轉換:Clojure的 - 從一種形式轉換到另一個數據
({"name" "databases", "columns" ["name"], "values" [["testdb"] ["mydb"]]})
到
({:name "testdb"} {:name "mydb"})
我摸不清我怎麼可以這樣整齊的Clojure的方式。
當你想多張地圖都使用相同的按鍵,部分應用zipmap
作品很整齊:
(defn to-maps [{:strs [columns values]}]
(map (partial zipmap (map keyword columns)) values))
例子:
(to-maps {"name" "databases", "columns" ["name"], "values" [["testdb"] ["mydb"]]})
;;=> ({:name "testdb"} {:name "mydb"})
(to-maps {"name" "databases",
"columns" ["name", "connectionstring"],
"values" [["testdb", "foo"] ["mydb", "bar"]]})
;;=> ({:connectionstring "foo", :name "testdb"} {:connectionstring "bar", :name "mydb"})
我沒有看到這一點在downvotes和鎖。這是一個像在這裏問過的許多其他問題。有什麼不同? –