Java 如何存储JSONcontaining嵌套JSONArray

Java 如何存储JSONcontaining嵌套JSONArray,java,android,arraylist,hashmap,Java,Android,Arraylist,Hashmap,我正在开发一个应用程序,其中包含类似JSON的 我想在ListView中显示有关简单TextView和UserData的详细信息。但是我完全不知道如何存储这些数据。。我完成了以下代码,但无法在单个HashMap中存储所有UserMobile 请帮助我如何存储数据,以便我可以在下一个活动中使用它来存储…您的for循环中得到了什么?这个JSONObject l1=UsedDataArray.GetJSONObject的作用是什么;给出?在内部for循环中,我得到最后一个usermobile和admi

我正在开发一个应用程序,其中包含类似JSON的

我想在ListView中显示有关简单TextView和UserData的详细信息。但是我完全不知道如何存储这些数据。。我完成了以下代码,但无法在单个HashMap中存储所有UserMobile


请帮助我如何存储数据,以便我可以在下一个活动中使用它来存储…

您的for循环中得到了什么?这个JSONObject l1=UsedDataArray.GetJSONObject的作用是什么;给出?在内部for循环中,我得到最后一个usermobile和admin标志,并将它们存储在HashMap中,但它们被覆盖了。@BharathMg我能够以正确的方式解析数据,但..我对用于存储移动号码的数据类型感到困惑..user mobile是唯一的,请使用HashMap而不是arraylisty您使用HashMap,您希望使用列表和hasmap
    {
    "Group Details":
    [
        {
        "groupMasterId": "25",
        "GroupName": "Gangs of Beasts",
        "groupIcon": "http://xxx.xxx.xx.x/XYZ/images/evil.png",
        "GroupDescription": "Fellowzzzgroup",
        "GroupCreatedDate": "2014-04-30 15:41:01",
        "GroupMassage": "no such thing is like group msg",
        "UserData":
            [
            {"UserMobile": "1111111111","AdminFlag": "1"},
            {"UserMobile": "1234567890","AdminFlag": "0"},
            {"UserMobile": "9988776655","AdminFlag": "0"},
            {"UserMobile": "234t537535","AdminFlag": "0"},
            {"UserMobile": "3489869348","AdminFlag": "0"},
            {"UserMobile": "1234567890","AdminFlag": "0"}
            ]
        }
    ]
}
JSONObject jsonObj = new JSONObject(jsonstr);
            GroupDetailsArray = jsonObj.getJSONArray(GROUPDETAILS);
            HashMap<String, String> groupuser = new HashMap<String, String>();
            for (int i = 0; i < GroupDetailsArray.length(); i++) {
                JSONObject l = GroupDetailsArray.getJSONObject(i);
                // String ID= l.getString(GROUPMASTERID);
                String NAME = l.getString(GROUPNAME);
                String DESCRIPTION = l.getString(GROUPDESCRIPTION);
                String DATE = l.getString(GROUPCREATEDDATE);
                String ICON = l.getString(GROUPICON);
                JSONArray UsedDataArray = l.getJSONArray(USERDATA);
                String ADMIN;
                for (int j = 0; j < UsedDataArray.length(); j++) {

                    JSONObject l1 = UsedDataArray.getJSONObject(j);
                    if (l1 != null) {
                        String MOBILENUMBER = l1.getString(USERMOBILE);

                        if (l1.getString(ADMINFLAG).equals("0")) {
                            ADMIN = "Member";
                        } else {
                            ADMIN = "Admin";
                        }
                        // tmp hashmap for single group
                        groupuser.put(USERMOBILE, MOBILENUMBER);
                        groupuser.put(ADMINFLAG, ADMIN);
                    }
                }
                // tmp hashmap for single group
                HashMap<String, String> group = new HashMap<String, String>();

                // adding each child node to HashMap key => value
                group.put(GROUPNAME, NAME);
                group.put(GROUPDESCRIPTION, DESCRIPTION);
                group.put(GROUPCREATEDDATE, DATE);
                group.put(USERDATA, groupuser.toString());
                group.put(GROUPICON, ICON);
                // adding group to group list
                Utility.groupdetailsarraylist.add(group);
                Log.d("groupdetailsarraylist",
                        Utility.groupdetailsarraylist.toString());
            }
       List list1=new ArrayList<String>();
    JSONArray array=jso.getJSONArray("UserData");
    for(int i=0;i<array.length();i++)
    {                                   list1.add(array.getJSONObject(i).getString("UserMobile"));

    }
   Iterator itr=list1.iterator();
     while(itr.hasNext())
    {
        str1=itr.next().e+"\n";

    }