Cách sắp xếp dữ liệu trong json

Mình muốn chuyển List thành file nên đã dùng json để thực hiện

 @SuppressWarnings("unchecked")
    public void writeToFile() {
        List<Student> students = new Students().getStudent();
        JSONArray studentList = new JSONArray();
        for(Student st : students){
            JSONObject obj = new JSONObject();
            obj.put("id",st.getId());
            obj.put("firstName",st.getFirstName());
            obj.put("lastName",st.getLastName());
            obj.put("address",st.getAddress());
            obj.put("email",st.getEmail());
            obj.put("className",st.getClassName());
            studentList.add(obj);
        }
        try (FileWriter file = new FileWriter("students.json")) {
            // We can write any JSONArray or JSONObject instance to the file
            file.write(studentList.toJSONString());
            file.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    @SuppressWarnings("unchecked")
    public void readToFile(){
        //JSON parser object to parse read file
        JSONParser jsonParser = new JSONParser();
         
        try (FileReader reader = new FileReader("students.json"))
        {
            //Read JSON file
            Object obj = jsonParser.parse(reader);
 
            JSONArray studentList = (JSONArray) obj;
            
            Iterator<JSONObject> iterator = studentList.iterator();
            while(iterator.hasNext()){
                System.out.println(iterator.next());
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }

Vấn đề mình gặp phải là khi in ra màn hình thì nó sắp xếp không theo ý muốn của mình
{"lastName":"a","firstName":"a","address":"a","className":"a","id":1,"email":"a"}
Và mình muốn tách từng trường ra thành dòng riêng như

id:1
fisrtName:a
lastName:a
address:a
email:a
className:a
  1. Ý của cậu là sắp xếp như thế nào thì hợp lý?
  2. Cậu đang dùng thư viện gì để parse json vậy?
  3. Tớ nghĩ thư viện của cậu nên có cách để chuyển toàn bộ object thành json thay vì phải tự tạo json array object chứ? @@
  4. Cậu nên parse ngược lại thành object List thay vì parse thành json object.
    Tớ nghĩ thư viện của cậu nên có cách làm điều đó.
  5. Sau khi cậu parse được thành list student rồi, cậu có thể tự tách từng trường thành từng dòng riêng được chứ?
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?