2013-06-28 42 views
0

我得到這個JSON字符串:解析到時的JSONObject沒有被正確創建(可以JSON格式錯誤?)

[ 
{ 
    "id": 135, 
    "date": "2013-08-30 19:00:29", 
    "timestamp": "2013-08-30 19:00:29", 
    "lat": "54.328274", 
    "long": "-2.747215", 
    "strap": "annual International Festival of Street Arts", 
    "link": "http://dev.website.co.uk//?p=135", 
    "title": "Title" 
} 
] 

這肯定是正確的JSON語法IM(在iOS應用正常工作),但是JSONObject它捕獲錯誤。 Java:

public static JSONObject getJSONfromURL(String url){ 

    //initialize 
    InputStream is = null; 
    String result = ""; 
    JSONObject jArray = null; 

    //http post 
    try { 

     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost(url);  
     HttpResponse response = httpclient.execute(httppost); 
     HttpEntity entity = response.getEntity(); 

     is = entity.getContent();  

    } catch (Exception e) { 
     Log.e("log_tag", "Error in http connection "+e.toString()); 
    } 
    //convert response to string 

    try { 

     BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); 
     StringBuilder sb = new StringBuilder(); 
     String line = null; 

     while ((line = reader.readLine()) != null) { 
      sb.append(line + "\n"); 
     } 

     is.close(); 
     result=sb.toString(); 

    } catch (Exception e) {  
     Log.e("log_tag", "Error converting result "+e.toString()); 
    } 
    //try parse the string to a JSON object 

    try { 
     Log.d("log_tag", "jresult: " + result + "finish"); 
     jArray = new JSONObject(result); 

    } catch (JSONException e) { 
     Log.e("log_tag", "Error parsing data "+e.toString()); 
    } 
    return jArray; 
} 

JSON中某處出現錯誤嗎?

回答

4

[表示JSON數組節點

{表示JSON對象節點

JSONArray jArray = new JSONArray(result); 
    return jArray; 

您也可以有一個try塊而不是許多。

+0

感謝JSONArray!這裏最好的解釋,謝謝!我會接受它,當它允許:) –

+0

@JoshBoothe歡迎您。你也可以有一個try塊,並且有很多基於異常層次的catch塊 – Raghunandan

+0

@Raghunandan好解釋 – Blackbelt

0

這是一個數組,因此您需要執行「new JSONArray()」而不是「new JSONObject()」。

0

當一個JSON字符串[開始,將被視爲您需要做的new JSONArray()

相關問題