我在用Clojure和Leiningen做实验。我成功地执行了REPL中的以下行:
(print (:body (client/get "https://coinbase.com/api/v1/prices/spot_rate?currency=CAD" {:as :json}))我用lein new http创建了一个项目。当我使用lein run运行以下行时,对JSON的强制就不起作用了。它只是打印一个正确的JSON字符串。
(ns http.core
(:require [clj-http.client :as client])
(:use clojure.pprint))
(defn -main
[]
(print
(:body
(client/get "https://coinbase.com/api/v1/prices/spot_rate?currency=CAD" {:as :json}))脚本的输出是
{"amount":"306.89","currency":"CAD"}你知道怎么回事吗?
发布于 2015-08-21 14:58:32
我不知道到底是什么改变了,但是clj "1.1.2“有你想要的行为。
发布于 2015-08-21 18:19:25
事实证明,clj版本2.0.0发生了重大变化。现在必须显式列出project.clj中的可选依赖项。在我加入之后
[cheshire "5.5.0"]在我的依赖项列表中,该程序按预期工作。请参阅变更这里的文档。
https://stackoverflow.com/questions/32131712
复制相似问题