【发布时间】:2015-03-12 16:32:57
【问题描述】:
我正在尝试解析返回 CSV 数据(没有标题)的旧 API 的结果。 parse-response 函数效果很好,但是当我尝试使用 verify-response 检查时,它会因 ArityException Wrong number of args (0) passed to: PersistentHashMap 而失败。如何通过检查关键字段并在无效时创建替代错误哈希映射的函数传递哈希映射?
(def response-fields
[:response_code :response_text
:address :city :state :zip_code :country
:phone :fax :email
:first_name :last_name :company
:special_instructions :SpecialCode
])
(defn parse-response
"One line CSV file"
[response]
(zipmap response-fields
(first (csv/read-csv (:body response)))))
(defn verify-response
"Get response if code is valid"
[response-map]
(cond (some? (:response_code response-map)) (response-map)
:else
{:response_code "911"
:response_text "API Failure"}))
【问题讨论】:
-
看起来像响应映射周围的一组错误的括号。
-
太好了,@Alex 就是这样。谢谢!
-
@Alex,这应该是一个答案并被接受,所以这个问题不会显示为“未回答”。
标签: dictionary clojure hashmap argument-passing destructuring