我有一個叫做GradeModel2的類,它有2個成員:grade(字符串)和sections(字符串列表)。我試圖從我從服務器讀取的json字符串獲取我的GradeModel2的數據。奇怪的結果!是因爲json嗎?或者是什麼?
List<GradeModel2> gradeList = new ArrayList<>();
List<String> sectionsList = new ArrayList<>();
JSONObject jo = new JSONObject(json);
JSONArray grades = jo.getJSONArray("grades");
for (int i=0;i<grades.length();i++){
sectionsList.clear();
JSONObject grade = grades.getJSONObject(i);
JSONArray sections = grade.getJSONArray("sections");
Log.e("length",sections.length()+"");
for (int k=0;k<sections.length();k++)
sectionsList.add(sections.getString(k));
gradeList.add(new GradeModel2(grade.getString("grade"), sectionsList));
}
/**************/
for (GradeModel2 grade : gradeList) {
List<String> ss = grade.getSections();
for (String s : ss)
Log.e("section",grade.getGrade()+" : "+s);
}
/**************/
所檢索的JSON字符串看起來如下:
{"id":"596","privileges":"T","grades":[{"grade":"1","sections":["A","B","C"]},{"grade":"3","sections":["A","B"]},{"grade":"7","sections":["A"]},{"grade":"9","sections":["B"]},{"grade":"10","sections":["A"]}]}
的問題是,所有GradeModel2對象的章節列表是長度和值甲的!!! 第一Log.e,前內for循環一行,示出了列表的第一個項的長度爲(甲,乙,和Ç(見JSON) )。但是,我試圖在第二個塊的內部for循環中打印每個GradeModel2對象的所有部分,但是我在所有等級中都看到了部分A! (參見圖)
這是怎麼回事?這是爲什麼發生?
它的工作..謝謝:)但爲什麼** clear()**沒有做它應該怎麼做? –