Flexjson เป็นไลบรารี เบา (lightweight) สำหรับทำซีเรียลไลซ์และถอดรหัส (deserialize) อ็อบเจกต์ Java เข้าและออกจากรูปแบบ JSON เราสามารถถอดรหัสอ็อบเจกต์ Java จากสตรีม Reader ได้โดยใช้เมธอด deserialize() ของคลาส JSONDeserializer ซึ่งใช้อินสแตนซ์ของคลาส Reader เป็นอินพุต JSON
ไวยากรณ์
public T deserialize(Reader input)
ตัวอย่างโค้ด
import java.io.*;
import flexjson.JSONDeserializer;
public class JSONDeserializeReaderTest {
public static void main(String[] args) {
JSONDeserializer<Student> deserializer = new JSONDeserializer<Student>();
String jsonStr = "{"
+ "\"firstName\": \"Adithya\","
+ "\"lastName\": \"Sai\","
+ "\"age\": 25,"
+ "\"address\": \"Hyderabad\""
+ "\"class\": \"Student\""
+ "}";
Student student = deserializer.deserialize(new StringReader(jsonStr));
System.out.println(student);
}
}
// คลาส 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;
}
// Getters และ Setters
public String getFirstName() { return firstName; }
public void setFirstName(String firstName) { this.firstName = firstName; }
public String getLastName() { return lastName; }
public void setLastName(String lastName) { this.lastName = lastName; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
public String getAddress() { return address; }
public void setAddress(String address) { this.address = address; }
public String toString() {
return "Student[ " +
"firstName = " + firstName +
", lastName = " + lastName +
", age = " + age +
", address = " + address +
" ]";
}
}
ผลลัพธ์
Student[ firstName = Adithya, lastName = Sai, age = 25, address = Hyderabad ]