(define -ayalog '())

括弧に魅せられて道を外した名前のないプログラマ

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 書いてる。