2012-08-17 96 views
1

我解析一個JSON文件,但我得到這個消息:org.json.JSONException:在 文件的contetnn字符0輸入的結尾是:JsonArray解析

+0

後的相對JSON解析代碼,然後我們會幫助ü更 – 2012-08-17 17:43:46

+0

'人品0 of'中輸入什麼的終結?你錯過了會告訴我們問題出在哪裏的那部分錯誤。我期待它能說出類似於「____」的內容。 – Izkata 2012-08-17 17:55:19

回答

1

你肯定有在文件末尾沒有空行?就像這樣:

[ 
{ 
code: "UNLC", 
cours_jour: "40 020", 
variation: "0.00" 
}, 
{ 
code: "UNXC", 
cours_jour: "7 450", 
variation: "0.00" 
} 
] 
<-- Empty line here! 
0

你的JSON對象字段需要用雙引號

IE

{ 
"code": "BOAC", 
"cours_jour": "29 000", 
"variation": "-1.69" 
} 

封裝如何生成的JSON文件?

- 編輯

您可以使用下面的代碼的網頁下載到一個字符串,然後將其轉換爲一個JSONArray再拉各的JSONObject。您不能運行在主線程中的任何Web請求,因此可以擴展一個新的AsyncTask或線程或可運行來執行以下

DefaultHttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httpost = new HttpPost("http://www.impaxis-securities.com/securities/cours-actions/cours.json"); 
     httpost.setHeader("Accept", "application/json"); 
     httpost.setHeader("Content-type", "application/json"); 
     ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
     String response; 
     try { 
       response = httpclient.execute(httpost, responseHandler); 
       JSONArray arr = new JSONArray(response); 
       int arrLength = arr.length(); 
        if(arrLength > 0) 
        { 
         for(int i = 0; i < arrLength; i++) 
         { 
          JSONObject item = arr.getJSONObject(i); 
          String code = item.getString("code"); 
          String cours_jour = item.getString("cours_jour"); 
          String variation = item.getString("variation"); 
          //Either insert to a DB or add to an array list and return it 
         } 
        } 
       } 
     catch (ClientProtocolException e) { 
      //Issue with web server 
      } 
     catch (IOException e) { 
      //Issue with request 
      } 
     catch (JSONException e) { 
      //ISSUE Parsing JSON from site 
     } 

---編輯

我測試的代碼,它看起來像有一個錯誤使用JSON插件/ REST服務

http://drupal.org/node/1433436

+0

json文件是由drupal模塊生成的..我並不真正知道模塊的名稱,但是我使用了他們給我的json文件.. – 2012-08-17 18:17:11

+0

聽起來像模塊創建的數組對象不會將引用圍繞它的鍵.IE $ a = array(「code」=>「$ code」,「cours_jour」=>「$ cours_jour」,「variation」=>「$ variation」);
json_encode($ a); 但他們正在做 $ a = array(code =>「$ code」,cours_jour =>「$ cours_jour」,variation =>「$ variation」); – ainesophaur 2012-08-17 18:36:00

+0

嗨。你真的得到了代碼,cours_jours和變化。我做System.out.println(response)int try try,但我沒有任何東西 – 2012-08-18 13:34:48