`JSONObject c;JSONArray events;JSONObject event_data;
JSONArray cont;JSONObject contacts_data;
JSONObject jsonObj=new JSONObject(data);
categories = jsonObj.getJSONArray("categories");
for (i = 0; i < categories.length(); i++)
{
ContentValues valuesCat=new ContentValues();
c = categories.getJSONObject(i);
String name = c.getString("name");
Toast.makeText(this, name, Toast.LENGTH_SHORT).show();
String blck=c.getString("black_icon_url");
String wht=c.getString("white_icon_url");
valuesCat.put(GetData.CATEGORY_ID, "c_"+(i+1) );
valuesCat.put(GetData.C_NAME, name);
valuesCat.put(GetData.BLACK, blck);
valuesCat.put(GetData.WHITE, wht);
try{
db.insertOrThrow(GetData.TABLE_CATEGORTIES, null, valuesCat);}
catch(Exception e){}
events=c.getJSONArray("events") ;
for(j = 0 ; j < events.length() ; j++)
{
event_data = events.getJSONObject(j);
cont=event_data.getJSONArray("contacts");
for(k = 0 ; k < cont.length() ; k++)
{
ContentValues valuesCon=new ContentValues();
contacts_data=cont.getJSONObject(k);
String nm1=contacts_data.getString("name");
String phone=contacts_data.getString("phone");
String fb=contacts_data.getString("facebook");
String id="c_"+(i+1)+"e_"+(j+1)+"_"+k;
valuesCon.put(GetData.CONTACT_ID, id);
valuesCon.put(GetData.NAME, nm1);
valuesCon.put(GetData.PHONE, phone);
valuesCon.put(GetData.FAB, fb);
db.insertOrThrow(GetData.TABLE_CONTACTS, null, valuesCon);
}
}
}
}
catch (Exception e)
{
e.printStackTrace();
}`
JSON [link]:“http://jsonviewer.stack.hu/#http://www.edg.co.in/events.json”
我正在将以下JSON对象解析为表,但是当我运行我的代码时,只有第一次迭代成功运行并且循环终止。我正在处理的JSON有点复杂,它在另一个数组和另一个数组中有数组。救命!!迭代整个JSON对象
答案 0 :(得分:0)
我的建议是使用GSON Librarie,我已经处理了几个月而且非常强大。
您需要做的是定义数据模型,GSON图书馆将为您完成剩下的工作,它将根据需要分配所有内容,它会将您的信息填充到您的对象中......
download =&gt; https://code.google.com/p/google-gson/downloads/list
一些例子=&gt; https://sites.google.com/site/gson/gson-user-guide