ClojureScript の中で JSON を Clojure のデータ形式にするときにマップのキーをキーワードにする
メモ。
JSON オブジェクトを受け取って js->clj に突っ込むだけだと、 JSON のキーがそのまま文字列で来るので :keywordize-keys オプションをつけてあげる必要がある。
(ns example.core (:import [goog.net XhrIo])) (defn callback [reply] (let [v (js->clj (.getResponseJson (.-target reply)) :keywordize-keys true)] (.log js/console (:a v)))) (.send XhrIo "/any-action" callback)
余談: JS 非同期脳だったので core.async のパラダイム理解するの難しいと思いながら cljs 書いてる。