clj-http 未返回 JSON
clj-http not returning JSON
我正在尝试使用 clj-http 版本 2.2.0 从 REST 资源中读取 JSON,但无论我做什么,我都会得到字符串形式的结果。
在调试时,我将我对这个请求所做的事情剥离到 https://nym.at/test.json 上我的网络服务器上的静态 JSON 文档:
{"foo":1,"bar":"baz"}
我运行REPL中的以下代码(client
绑定到命名空间clj-http.client):
(client/get "https://nym.at/test.json" {:as :json :insecure? true})
我得到的结果是(手动打印出来的):
{:status 200,
:headers {"Server" "Apache/2.4.18 (Debian)",
"Upgrade" "h2,h2c",
"Content-Type" "application/json",
"Content-Length" "22",
"Strict-Transport-Security" "max-age=31536000; includeSubDomains",
"Connection" "Upgrade, close",
"Accept-Ranges" "bytes",
"ETag" "\"16-532fcf29f30c6\"",
"Date" "Mon, 16 May 2016 22:14:59 GMT",
"Last-Modified" "Mon, 16 May 2016 22:14:27 GMT"},
:body "{\"foo\":1,\"bar\":\"baz\"}\n",
:request-time 637,
:trace-redirects ["https://nym.at/test.json"],
:orig-content-encoding nil}
我的预期是否错误,{:as :json}
应该导致 clj-http 将响应解析为 JSON 并在 :body
返回它,还是我在这里做错了什么?
将 [cheshire "5.6.1"]
添加到您的项目,它将神奇地开始工作
我正在尝试使用 clj-http 版本 2.2.0 从 REST 资源中读取 JSON,但无论我做什么,我都会得到字符串形式的结果。
在调试时,我将我对这个请求所做的事情剥离到 https://nym.at/test.json 上我的网络服务器上的静态 JSON 文档:
{"foo":1,"bar":"baz"}
我运行REPL中的以下代码(client
绑定到命名空间clj-http.client):
(client/get "https://nym.at/test.json" {:as :json :insecure? true})
我得到的结果是(手动打印出来的):
{:status 200,
:headers {"Server" "Apache/2.4.18 (Debian)",
"Upgrade" "h2,h2c",
"Content-Type" "application/json",
"Content-Length" "22",
"Strict-Transport-Security" "max-age=31536000; includeSubDomains",
"Connection" "Upgrade, close",
"Accept-Ranges" "bytes",
"ETag" "\"16-532fcf29f30c6\"",
"Date" "Mon, 16 May 2016 22:14:59 GMT",
"Last-Modified" "Mon, 16 May 2016 22:14:27 GMT"},
:body "{\"foo\":1,\"bar\":\"baz\"}\n",
:request-time 637,
:trace-redirects ["https://nym.at/test.json"],
:orig-content-encoding nil}
我的预期是否错误,{:as :json}
应该导致 clj-http 将响应解析为 JSON 并在 :body
返回它,还是我在这里做错了什么?
将 [cheshire "5.6.1"]
添加到您的项目,它将神奇地开始工作