2011-07-29 312 views
0

我在我的android應用程序中有一個奇怪的問題。在一個方法我這樣做:從Json獲取字符串?

try { 
String r = responseBody.toString(); 
JSONArray jArray = new JSONArray(r); 
categorys = new String[jArray.length()]; 
idcategory = new Integer[jArray.length()]; 
System.out.println("lung " + jArray.length()); 
    for (int i = 0; i < jArray.length(); i++) { 
    JSONObject jsdata = jArray.getJSONObject(i); 
    String idcat = jsdata.getString("id_category"); 
    idcategory[i] = Integer.valueOf(idcat); 
    System.out.println("Id " + idcat); 
    String namecategory = jsdata.getString("category_name"); 
    categorys[i] = namecategory; 
    System.out.println("Category name " + namecategory); 
} 

,一切工作正常,我從服務器獲取的categorys和類別的ID。在另一種方法中,我這樣做(對於其他響應):

try { 
String re = responseBody.toString(); 
JSONArray jArray = new JSONArray(re); 
System.out.println("lung " + jArray.length()); 
titlephotos = new String[jArray.length()]; 
photolink=new String[jArray.length()]; 
for (int i = 0; i < jArray.length(); i++) { 
    JSONObject jsdata = jArray.getJSONObject(i); 
    String titlephoto = jsdata.getString("title");      
    System.out.println("titlu photo " + titlephoto); 
    titlephotos[i] = titlephoto; 

    String linkphoto=jsdata.getString("view"); 
    System.out.println("link photo"+ linkphoto); 
    photolink[i]=linkphoto; 
} 
}catch(JSONException e) { 
    System.out.println("You are in catch"); 
} 

我得到一個標題照片之後,我從catch()獲得消息。如果我不把

String linkphoto=jsdata.getString("photo link"); 
System.out.println("link photo"+ linkphoto); 
photolink[i]=linkphoto; 

我得到的所有標題。我不明白問題在哪裏,因爲方法是相似的,第一個工作正常。誰能幫忙?

謝謝...

+1

請添加JSON數據。如果「照片鏈接」錯誤輸入怎麼辦? – VGE

+0

現在我找到了解決方案...我應該把「photo_link」而不是「photo link」...對不起:D – Gabrielle

回答

1

最有可能是在 字符串linkphoto = jsdata.getString( 「圖片鏈接」)的空間;