我无法从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

回到顶部