在表中解析JSON数据

时间:2014-03-11 21:03:21

标签: java android json

`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对象

1 个答案:

答案 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