Flexjson เป็นไลบรารี Lightweight สำหรับ Serialize และ Deserialize Java Object เป็น/จาก JSON Format สามารถ Serialize Array of Objects ได้โดยใช้เมธอด serialize() ของคลาส JSONSerializer ทำ Shallow Serialization
Syntax
public String serialize(Object target)
ตัวอย่าง: Serialize Student Array
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);
}
}
// 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) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.address = address;
}
// getters...
public String toString() {
return "Student[ firstName = " + firstName + ", lastName = " + lastName +
", age = " + age + ", address = " + address + " ]";
}
}
ผลลัพธ์
[
{
"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"
}
]
หมายเหตุ: Flexjson เพิ่ม field "class" อัตโนมัติเพื่อระบุ Type รองรับ Array, List, Collection ทุกประเภท