我正在使用REST,它使用以下JSON表示一个帐户:
{ "userName": "foo", "password": "bar", "emailId": "baz" }我有一个Clojure函数来创建一个可以像这样调用的帐户:
(create-account :username "foo" :password "bar" :email "baz")我想要做的是将create-account获得的漂亮键映射到REST所期望的时髦键上。我目前的解决办法是:
(def clj->rest {:username :userName
:email :emailId})
(apply hash-map
(flatten (map
(fn [[k v]] [(or (clj->rest k) k) v])
args))) ;; args is the arguments to create-account, as above有什么更惯用的方法来完成这个任务吗?
发布于 2014-01-31 15:54:03
(clojure.set/rename-keys args clj->rest)..。模仿你的解决方案,产生.
{:emailId "baz", :userName "foo", :password "bar"}我想您已经想出了如何将其转换为所需的JSON。
https://stackoverflow.com/questions/21483044
复制相似问题