json - clj-http/获取网址 { :as :json} doesn't work in script but in REPL

标签 json clojure clj-http

我正在尝试 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"}

知道出了什么问题吗?

最佳答案

事实证明,clj-http 2.0.0 版发生了重大变化。 现在必须在 project.clj 中显式列出可选依赖项。 添加后

[cheshire "5.5.0"]

对于我的依赖项列表,程序按预期工作。 请参阅更改文档 here .

关于json - clj-http/获取网址 { :as :json} doesn't work in script but in REPL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32131712/

相关文章:

java - 制作一个评估 Clojure 字符串的可执行 jar

Clojure,尝试调用未绑定(bind)的 fn

authentication - 如何在clj-http中设置cookie?

Python:json.loads 返回以 'u' 为前缀的项目

javascript - 如何从 Webpack 中的给定目录自动加载所有 JSON 文件?

javascript - 获取所有 key :Values from Chrome Storage

clojure - 为 liberator 的 handle-unauthorized 输出 html

clojure - Clj-http 异常 : ExceptionInfo clj-http: status 415 clj-http. client/wrap-exceptions/fn--1863 (client.clj:196)

php - 在数组内部创建 php json 对象数组