Flexjson là thư viện nhẹ để serialize và deserialize đối tượng Java vào và từ định dạng JSON. Có thể serialize mảng đối tượng dùng phương thức serialize() của lớp JSONSerializer, thực hiện shallow serialization.
Cú pháp
public String serialize(Object target)
Ví dụ minh họa
import flexjson.JSONSerializer;
public class JsonSerializeArrayTest {
public static void main(String[] args) {
JSONSerializer serializer = new JSONSerializer().prettyPrint(true);
Student stud1 = new Student("Adithya", "Sai", 28, "Hyderabad");
Student stud2 = new Student("Jai", "Dev", 30, "Chennai");
Student stud3 = new Student("Ravi", "Chandra", 35, "Pune");
Student[] students = {stud1, stud2, stud3};
String jsonStr = serializer.serialize(students);
System.out.println(jsonStr);
}
}
// Lớp Student
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 + " ]";
}
}
Kết quả đầu ra
[
{
"address": "Hyderabad",
"age": 28,
"class": "Student",
"firstName": "Adithya",
"lastName": "Sai"
},
{
"address": "Chennai",
"age": 30,
"class": "Student",
"firstName": "Jai",
"lastName": "Dev"
},
{
"address": "Pune",
"age": 35,
"class": "Student",
"firstName": "Ravi",
"lastName": "Chandra"
}
]
Lưu ý: Flexjson thêm trường "class" để hỗ trợ deserialize ngược lại. Đối với mảng, nó serialize thành JSON array.