【发布时间】:2015-07-23 10:59:06
【问题描述】:
我正在使用 For 循环从 Json 获取数据。这是我的代码:
try {
JSONObject jsonObj=new JSONObject(strri);
Privacy_Setting_Ozone_Feed obj=new Privacy_Setting_Ozone_Feed();
jsonArray=jsonObj.getJSONArray("Setting");
JSONArray jsonArray4=jsonObj.getJSONArray("blocklist");
Log.d("ads", jsonArray4.toString());
for(int i=0;i<jsonArray.length();i++)
{
JSONObject jsonInnerObj=jsonArray.getJSONObject(i);
try
{
obj.strvalue=jsonInnerObj.getString("value");
}catch(Exception e)
{
}
try
{
obj.str_name=jsonInnerObj.getString("name");
}catch(Exception e)
{
}
}
for (int j=0; j<jsonArray4.length(); j++)//----------(loop)
{
JSONObject jObject = jsonArray4.getJSONObject(j);
try
{
obj.str_image=jObject.getString("image");
Log.d("sadsa", obj.str_image);
}catch(Exception e)
{
}
try
{
obj.str_blockname=jObject.getString("name");
Log.d("test", obj.str_blockname);
}catch(Exception e)
{
}
arr.add(obj); //-------------------(1)
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return arr;//--------------(2)
}
在这个地方 arr.add(obj);我从 json 得到准确的值, 就像如果有三个不同的值,所以我得到正确的三个 值...但是在返回点,我得到的只是最后一个值 来自json循环。请让我知道我犯了什么错误 在这里做。
【问题讨论】:
-
您的所有代码在哪里?
arr在哪里定义?不要到处使用try/catches,它会让你的代码难以阅读。 -
你能发布你的 JSON 数据吗?
标签: android json for-loop response