对于JSONArray类型,未定义put(JSONObject)

时间:2014-10-20 00:04:32

标签: json arrays jsonobject

下面的代码有两个错误......一个在第3行到最后一行,另一个在最后一行。这些行如下所示,并且都包含以下错误消息“JSONArray类型的方法put(JSONObject)未定义。”这意味着什么以及如何解决?

studentJSONArray.put(studentJSONObject); //这是第3行到最后一行

courseJSONArray.put(courseJSONObject); //这是最后一行

JSONArray courseJSONArray = new JSONArray();
        for(int c = 0; c < 40; c++) {
            JSONObject courseJSONObject = new JSONObject();
            courseJSONObject.put("course name", course.getName());
            courseJSONObject.put("course teacher", course.getTeacher());
            JSONArray studentJSONArray = new JSONArray();
            for(int s = 0; s < 50; s++) {
                JSONObject studentJSONObject = new JSONObject();
                studentJSONObject.put("student name", course.student.getName());
                studentJSONObject.put("student id", course.student.getid());
                studentJSONObject.put("student final grade", course.student.getfinalgrade());
                JSONArray assignmentJSONArray = new JSONArray();
                for(int a = 0; a < 100; a++) {
                    JSONObject assignmentJSONObject = new JSONObject();
                    assignmentJSONObject.put("assignment name", getAssignmentName());
                    assignmentJSONObject.put("category", getAssignmentCategory());
                    assignmentJSONObject.put("date", getAssignmentDate());
                    assignmentJSONObject.put("grade", course.student.getAssignmentGrade());
                    assignmentJSONArray.put( assignmentJSONObject );
                    }
                studentJSONObject.put( "assignments", assignmentJSONArray );
                studentJSONArray.put( studentJSONObject );
                }
            courseJSONObject.put( "students", studentJSONArray );
            courseJSONArray.put( courseJSONObject );

}

1 个答案:

答案 0 :(得分:2)

事实证明,这两行包含错误,因为JSON数组使用&#34; add&#34;而不是&#34; put&#34;方法。对于我来说,JSON对象使用&#34; put&#34;似乎不一致。方法,而JSON数组使用&#34; add&#34;方法。但我确定有一些原因。