Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีถอดรหัส (Deserialize) อ็อบเจกต์ Java จาก Reader Stream ด้วย Flexjson ใน Java

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 ]