Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào chúng ta có thể tuần tự hóa danh sách các đối tượng bằng cách sử dụng flexjson trong Java?


Flexjson là một thư viện nhẹ để tuần tự hóa deserializing Đối tượng Java thành từ JSON định dạng. Chúng tôi có thể tuần tự hóa một danh sách các đối tượng sử dụng serialize () phương pháp của JSONSerializer lớp. Phương pháp này có thể thực hiện một nông tuần tự hóa của phiên bản đích. Chúng tôi cần chuyển một danh sách các đối tượng trong số Danh sách nhập làm đối số cho serialize () phương pháp.

Cú pháp

public String serialize(Object target)

Ví dụ

import flexjson.JSONSerializer;
import java.util.*;
public class JsonSerializeListTest {
   public static void main(String[] args) {
      JSONSerializer serializer = new JSONSerializer().prettyPrint(true); // pretty print JSON
      Student s1 = new Student("Raja", "Ramesh", 28, "Hyderabad");
      Student s2 = new Student("Suresh", "Kumar", 30, "Chennai");
      Student s3 = new Student("Surya", "Krishna", 35, "Pune");
      List<Student> students = Arrays.asList(s1, s2, s3);
      String jsonStr = serializer.serialize(students);
      System.out.println(jsonStr);
   }
}
// Student class
class Student {
   private String firstName;
   private String lastName;
   private int age;
   private String address;
   public Student() {}
   public Student(String firstName, String lastName, int age, String address) {
      super();
      this.firstName = firstName;
      this.lastName = lastName;
      this.age = age;
      this.address = address;
   }
   public String getFirstName() {
      return firstName;
   }
   public String getLastName() {
      return lastName;
   }
   public int getAge() {
      return age;
   }
   public String getAddress() {
     return address;
   }
   public String toString() {
      return "Student[ " +
      "firstName = " + firstName +
      ", lastName = " + lastName +
      ", age = " + age +
      ", address = " + address +
      " ]";
   }
}

Đầu ra

[
 {
    "address": "Hyderabad",
    "age": 28,
    "class": "Student",
    "firstName": "Raja",
    "lastName": "Ramesh"
 },
 {
    "address": "Chennai",
    "age": 30,
    "class": "Student",
    "firstName": "Suresh",
    "lastName": "Kumar"
 },
 {
    "address": "Pune",
    "age": 35,
    "class": "Student",
    "firstName": "Surya",
    "lastName": "Krishna"
 }
]