ClojueScript Transit-cljs - 地图

ClojueScript Transit-cljs - map

我正在尝试使用 transit-cljs 来使用一些 JSON 服务并将其转换为 cljs 数据结构。

在我的 cljs 代码中我这样做:

(def r (transit/reader :json))
(def json (generate-string {:foo "bar" :baz 5}))
(def data (transit/read r json))

我现在不能像地图一样访问这个吗?类似于:

("foo" data)

提前致谢

在 ClojureScript 中尝试这个:

  (def r (transit/reader :json))
  (def json "{\"foo\":\"bar\", \"baz\" : 123}")
  (def data (transit/read r json))
  (println "JSON " json)
  (println "DATA " data)

在我的浏览器中产生以下内容:

JSON  {"foo":"bar", "baz" : 123}
DATA  {foo bar, baz 123}

我不确定你的函数 generate-string 来自哪里。

您应该注意到以下错误:

("foo" data) ;; Uncaught TypeError: "foo".call is not a function

您可以执行以下任一操作:

(data "foo")
(get data "foo")

我个人比较喜欢第二种,有字符串没有关键词的时候