をArrayListにJSONファイルの変換、私は2つの方法を使用し私はArrayListにJSONファイルを変換する際に問題を抱えている<Custom>
[
{
"NICN":"1",
"DOB":"Thu Jan 01 00:00:00 SRET 1998",
"Gender":77,
"Module":[
{
"Module ID":"2",
"Assignment Score":0,
"Exam Score":0
},
{
"Module ID":"3",
"Assignment Score":0,
"Exam Score":0
},
{
"Module ID":"4",
"Assignment Score":0,
"Exam Score":0
}
],
"DOJ":"Wed Jan 01 00:00:00 SRET 1997",
"Nationality":"1",
"StudentID":"S000000",
"Name":"James"
}
]
これが最初の方法です:JSONの構文解析:
:ArrayList<Student> CurStudentList = new ArrayList<>();
Student CurStudentObj = new Student();
//Read From File
try {
JSONArray baseJSONResponse = new JSONArray("JSON1.json");
for (int i = 0; i < baseJSONResponse.length(); i++) {
JSONObject StudentObj = baseJSONResponse.getJSONObject(i);
CurStudentObj.setmStudentID(StudentObj.getString("StudentID"));
CurStudentObj.setmName(StudentObj.getString("Name"));
CurStudentObj.setmGender(StudentObj.getString("Gender").charAt(0));
String TempDOB = (StudentObj.getString("DOB"));
SimpleDateFormat sdf = new SimpleDateFormat("EEE MM dd HH:mm:ss z yyyy");
try {
Date dDOB = sdf.parse(TempDOB);
CurStudentObj.setmDateOfBirth(dDOB);
} catch (ParseException e) {
e.printStackTrace();
}
CurStudentObj.setmNICN(StudentObj.getString("NICN"));
String TempDOJ = (StudentObj.getString("DOJ"));
try {
Date dDOJ = sdf.parse(TempDOJ);
CurStudentObj.setmDateJoined(dDOJ);
} catch (ParseException e) {
e.printStackTrace();
}
CurStudentObj.setmGender(StudentObj.getString("Gender").charAt(0));
JSONArray array = StudentObj.getJSONArray("Module");
for (int a = 0; a < 3; a++) {
JSONObject ArrayOne = new JSONObject();
CurStudentObj.setmModules((ArrayOne.getString("Module ID")), Integer.parseInt(ArrayOne.getString("Assignment Score")), Integer.parseInt(ArrayOne.getString("Exam Score")));
}
}
これは間違って解析することができ、エラーが発生しました
私は現在、自分のプログラムArrayListの中に私のJsonファイルとストアを読みたいと思っています。私は情報を編集することができるので、ファイルに再度書き込むことによって更新することができます。
私はGsonを使用する別の方法をオンラインで検索しますが、構文解析する必要はなく、Arraylistに追加するだけですが、それはArrayList<String>
でのみ機能します。カスタムではありませんArrayList<Student>