我正在尝试使用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)
提前致谢
答案 0 :(得分:1)
在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")
当有字符串且没有关键字时,我个人更喜欢第二种。