2012-04-23 40 views
0

返回我有一個Web服務,在一些GET請求答覆,這樣的事情: http://developer.echonest.com/api/v4/artist/reviews?api_key=N6E4NIOVYMTHNDM8J&id=ARH6W4X1187B99274F&format=json&results=1&start=2 如果在請求中的參數是錯誤的: http://developer.echonest.com/api/v4/artist/reviews?api_key=N6E4NIOVYMTHNDM8J&id=ARH6W4X1187B99274F&format=json&results=1&start=WRONG-STRING 有400和一些服務器回覆json解釋出了什麼問題。讀JSON由400錯誤的Clojure

現在用Clojure我想讀的JSON知道究竟是什麼出了問題,我試着用 (clojure.java.io/reader錯網址) ,但它引發的異常

服務器返回的HTTP響應代碼:400爲URL:
http://developer.echonest.com/api/v4/artist/reviews? API_KEY = N6E4NIOVYMTHNDM8J & ID = ARH6W4X1187B99274F &格式= JSON &結果= 1點&開始= E1 [拋出該異常類產生java.io.IOException]

我怎樣才能讀取JSON?

+0

我的大問題是,clojure.java.io/reader引發的異常,因爲它得到400錯誤,但在那之後(我認爲)我得到我需要的JSON ...是不是解析JSON的問題是**在400之後獲得** json – Siscia 2012-04-23 22:44:24

回答

0

有時我只是真的想看看電線上發生了什麼,在這些情況下,我啓動了網絡數據包分析儀Wireshark。以下是我想在這種情況下使用它(但它是一個強大而靈活的軟件,你可以做很多漂亮的東西,用它):

  1. 啓動它
  2. 選擇捕獲 - >選項(按Ctrl-K)
  3. 選擇要捕捉流量
  4. 進入host developer.echonest.com作爲捕獲過濾器
  5. 開始拍攝按鈕網絡接口

然後在echonest.com與您的服務進行交互 - 您將在Wireshark的窗口看到數據包。完成後,返回Wireshark並點擊Capture-> Stop(Ctrl-E)。

在數據包列表中,找到一個以GET /api/v4/arist/開頭的數據包,右鍵單擊並選擇「Follow TCP Stream」 - 這將顯示您正在發送和接收的內容。