2011-07-29 311 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( “图片链接”)的空间;