public static User parseFromJson(String jsonString) { try { User user = new User(); JSONObject mainObject = new JSONObject(jsonString); user.setId(mainObject.getInt("id")); user.setSso_id(mainObject.getString("sso_id")); user.setFullname(mainObject.getString("fullname")); user.setNickname(mainObject.getString("nickname")); user.setPhone(mainObject.getString("phone")); user.setState(mainObject.getString("state")); user.setSchool_id(mainObject.getInt("school_id")); user.setRoles(mainObject.getString("roles")); user.setSchoolName(mainObject.getString("schoolName")); user.setPhoto(mainObject.getString("photo")); user.setGender(mainObject.getString("gender")); // User detail UserDetail userDetail = new UserDetail(); userDetail.setAddr1(mainObject.getString("addr1")); userDetail.setAddr2(mainObject.getString("addr2")); userDetail.setPhone(mainObject.getString("phone")); userDetail.setExt(mainObject.getString("ext")); userDetail.setPhoto(mainObject.getString("photo")); userDetail.setBirthday(mainObject.getString("birthday")); userDetail.setGender(mainObject.getString("gender")); userDetail.setEmail(mainObject.getString("email")); // Class JSONArray classarray = mainObject.getJSONArray("classes"); List<Class> classes = new ArrayList<Class>(); for (int i = 0; i < classarray.length(); i++) { JSONObject eclassObj = classarray.getJSONObject(i); Class eclass = new Class(); eclass.setId(eclassObj.getInt("id")); eclass.setSchool_id(eclassObj.getInt("school_id")); eclass.setTitle(eclassObj.getString("title")); eclass.setLocation(eclassObj.getString("location")); try { eclass.setTerm(eclassObj.getInt("term")); } catch (JSONException e) { Log.w("UserProfile", "term in class is null"); } eclass.setYears(eclassObj.getString("years")); eclass.setYear_id(eclassObj.getInt("year_id")); eclass.setStart_dt(eclassObj.getString("start_dt")); eclass.setEnd_dt(eclassObj.getString("end_dt")); eclass.setHead_teacher_id(eclassObj.getInt("head_teacher_id")); eclass.setHeadTeacherName(eclassObj.getString("headTeacherName")); classes.add(eclass); Log.d("", eclass.toString()); } // user.setEclass(eclass); user.setUserDetail(userDetail); user.setClasses(classes); if (classes.size() > 0) user.setEclass(classes.get(0)); // Return user return user; } catch (JSONException e) { e.printStackTrace(); return null; } }