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