我无法从JSON
获取数据这是我的Json我无法从JSON
{ "2017": {
"11": {
"8": {
"status": ""
},
"10": {
"status": ""
},
"24": {
"status": ""
},
"present": 0,
"absent": 0
},
"12": {
"1": {
"status": ""
},
"2": {
"status": ""
},
"present": 0,
"absent": 0
}
}
}
在我上面的JSON 2017年,11月,和8日。 我无法获得12个月。我只是得到它到第11个月,并且日期以相反的顺序 这就是我所得到的当我从json获取数据时
12-03 10:26:23.592 18581-18581 /? D /年:2017
12-03 10:26:23.592 18581-18581 /? D/month:11
12-03 10:26:23.592 18581-18581 /? D/16:24
12-03 10:26:23.592 18581-18581 /? D/title:A
12-03 10:26:23.592 18581-18581 /? D/16:10
12-03 10:26:23.592 18581-18581 /? D/title:A
12-03 10:26:23.592 18581-18581 /? D/16:8
12-03 10:26:23.592 18581-18581 /? d /标题:P
,这里是我写来获取这个代码
try { JSONObject object = new JSONObject(response);
Iterator iterator = object.keys();
attendance_pojo pojo= new attendance_pojo();
while (iterator.hasNext()) {
String year = (String) iterator.next();
pojo.setYear(year);
Log.d("year", year);
JSONObject obj = object.getJSONObject(year);
Iterator iterator2 = obj.keys();
while (iterator2.hasNext()) {
String month = (String) iterator2.next();
pojo.setMonth(month);
Log.d("month", month);
JSONObject ob = obj.getJSONObject(month);
Iterator iterator3 = ob.keys();
int datecntr=0;
while (iterator3.hasNext()) {
datecntr++;
String date = (String) iterator3.next();
pojo.setDate(date);
JSONObject ob1 = ob.getJSONObject(date);
Log.d("16", date);
String title = ob1.getString("status");
Log.d("title", title);
}
pojo.setDatecounter(datecntr);
}
}
} catch (JSONException e) {
e.printStackTrace();
}}
回答:
1)你试图遍历包含两个对象的对象。你可能想要定义一个数组中的月份如下:
2)返回的json元素的顺序是随机的,它们不是按照结构的特定顺序来的。
{ "2017": [
"11": {
"8": {
"status": ""
},
"10": {
"status": ""
},
"24": {
"status": ""
},
"present": 0,
"absent": 0
},
"12": {
"1": {
"status": ""
},
"2": {
"status": ""
},
"present": 0,
"absent": 0
}
]
}
以上是 我无法从JSON 的全部内容, 来源链接: utcz.com/qa/259927.html