Flexjson হল একটি লাইটওয়েট লাইব্রেরি যা জাভা অবজেক্টগুলিকে JSON ফরম্যাটে সিরিয়ালাইজ এবং ডিসিরিয়ালাইজ করার জন্য, যা ডিপ এবং শ্যালো কপি উভয়ই অনুমোদন করে। Flexjson দিয়ে জাভা প্রোগ্রাম চালাতে হলে, আমাদের flexjson প্যাকেজ ইম্পোর্ট করতে হবে। আমরা JSONDeserializer ক্লাসের deserialize() মেথড ব্যবহার করে JSON কে জাভা অবজেক্টে ডিসিরিয়ালাইজ করতে পারি, যা ইনপুট হিসেবে একটি JSON স্ট্রিং নেয় এবং সেই JSON রিপ্রেজেন্টেশন থেকে একটি স্ট্যাটিক টাইপড অবজেক্ট গ্রাফ তৈরি করে। ডিফল্টভাবে, এটি JSON ডেটায় ক্লাস প্রোপার্টি ব্যবহার করে আনটাইপড জেনেরিক JSON ডেটাকে একটি নির্দিষ্ট জাভা টাইপে ম্যাপ করতে।
সিনট্যাক্স
public T deserialize(String input)
নিচের প্রোগ্রামে, JSON কে জাভা অবজেক্টে ডিসিরিয়ালাইজ করা হয়েছে।
উদাহরণ
import flexjson.*;
public class DeserializeJSONTest {
public static void main(String[] args) {
JSONDeserializer<Student> deserializer = new JSONDeserializer<Student>();
String jsonStr =
"{" +
"\"firstName\": \"Ravi\"," +
"\"lastName\": \"Chandra\"," +
"\"age\": 35," +
"\"class\": \"Student\"," +
"\"salary\": 50000.00," +
"}";
Student student = deserializer.deserialize(jsonStr);
System.out.println(student);
}
}
// Student class
class Student {
private String firstName;
private String lastName;
private int age;
private double salary;
public Student() {}
public Student(String firstName, String lastName, int age, double salary) {
super();
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.salary = salary;
}
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 double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public String toString() {
return "Student[ " +
"firstName = " + firstName +
", lastName = " + lastName +
", age = " + age +
", salary = " + salary +
" ]";
}
}
আউটপুট
Student[ firstName = Ravi, lastName = Chandra, age = 35, salary = 50000.0 ]