JSONObject ক্লাস হল নেম/ভ্যালু পেয়ারের অনর্ডার্ড কলেকশন, যেখানে বিন হল সেটার/গেটার মেথড বিশিষ্ট ক্লাস। JSONObject ক্লাসের toBean() মেথড ব্যবহার করে JSON অবজেক্ট থেকে বিনে কনভার্ট করা যায়।
সিনট্যাক্স
public static Object toBean(JSONObject jsonObject, Class beanClass)
উদাহরণ
import net.sf.json.JSONObject;
public class ConvertJSONObjToBeanTest {
public static void main(String[] args) {
Employee emp = new Employee("Sai", "Ram", 30, "Bangalore");
JSONObject jsonObj = JSONObject.fromObject(emp);
System.out.println(jsonObj.toString(3)); // প্রিটি প্রিন্ট JSON
emp = (Employee)JSONObject.toBean(jsonObj, Employee.class);
System.out.println(emp.toString());
}
// Employee class
public static class Employee {
private String firstName, lastName, address;
private int age;
public Employee() {}
public Employee(String firstName, String lastName, int age, String address) {
super();
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.address = address;
}
// getter/setter...
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 "Employee[ firstName = " + firstName +
", lastName = " + lastName +
", age = " + age +
", address = " + address + " ]";
}
}
}
আউটপুট
{
"firstName": "Sai",
"lastName": "Ram",
"address": "Bangalore",
"age": 30
}
Employee[ firstName = Sai, lastName = Ram, age = 30, address = Bangalore ]
নোট
- JSON-lib পুরনো লাইব্রেরি, আধুনিক প্রজেক্টে Jackson/Gson ব্যবহার করুন
- Jackson-এ:
objectMapper.readValue(jsonObj.toString(), Employee.class) - Gson-এ:
gson.fromJson(jsonObj.toString(), Employee.class) - বিন ক্লাসে ডিফল্ট কনস্ট্রাক্টর এবং সেটার থাকতে হবে