2012-12-07 92 views
1

,這裏是我的android code..in字符串 解析字符串成JSON在Android的

result[{"Submitted_Date_Time":"12\/3\/2012","City":"","Issue_Category":"Graffity","OnProgress_Date_Time":"","id":"000000000000000","area":"SH 55","State":" ","Issue_Description":" ","Closed_Date_Time":"","imagepath":"[email protected]","Latitude":"23.71","Longitude":"72.04","Issue_Status":"Closed","LandMark":" "}] 

,我嘗試將其轉換到JSON數組,當我想從JSON數組retrive JSON對象它給我nullpointer exception...

JSONArray jarray = new JSONArray(result); 
JSONObject jobj = jarray.getJSONObject(1); 

plz幫助我.. thnkx提前..

回答

0

JSON數組只包含一個項,該指數是

JSONArray jarray = new JSONArray(result); 
JSONObject jobj = jarray.getJSONObject(0); 

要使用for循環

JSONArray jarray = new JSONArray(result); 
for (int i = 0 ; i < jarray.length() ; i++) { 
    JSONObject jobj = jarray.getJSONObject(i); 
    ..... 
} 
1

第一您的JSON字符串,如果它是包含"result"那麼它是不是有效的,你處理它的權利,請訪問JSON數組可以在這裏檢查它http://jsonviewer.stack.hu/

使有效的json字符串只使用String.replace爲:

String finaljson=result.replace("result", ""); 

現在JSON字符串是有效的,你可以分析它爲:

JSONArray jsonarray = new JSONArray(finaljson); 
for (int i = 0 ; i < jarray.length() ; i++) { 
JSONObject jsonobj = jarray.getJSONObject(i); 
    // get value from json object here 
    String str_City=jsonobj.getString("City"); 
    ///.... 
} 
0

更新你的下面的代碼行,將解決你的問題。

JSONObject jobj = jarray.getJSONObject(0); 

或者如果對象不止一個,你可以寫下面的代碼而不是上面的代碼行。

for(int i=0;i<jarray.length();i++){ 
    JSONObject jobj = jarray.getJSONObject(i); 
}