我正在试验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"}
知道什么是错的吗?
答案 0 :(得分:4)
事实证明,clj-http版本2.0.0发生了重大变化。
现在必须在project.clj
中明确列出可选的依赖项。
我添加后
[cheshire "5.5.0"]
到我的依赖项列表,程序按预期工作。 请参阅文档了解更改here。
答案 1 :(得分:1)
我不确切知道改变了什么,但[clj-http“1.1.2”]有你想要的行为。