JSON.simple লাইব্রেরি ব্যবহার করে custom object serialization এর মাধ্যমে আপনি একটি Java object কে JSON format-এ রূপান্তর করতে পারেন। সাধারণত, serialization মানে হল কোন Java object এর ডেটাকে JSON ডেটা ফরম্যাটে রূপান্তর করা যাতে এটি অন্য কোনো সিস্টেমে বা অ্যাপ্লিকেশনে পাঠানো যায় বা স্টোর করা যায়।
এই গাইডে আমরা দেখব কিভাবে JSON.simple লাইব্রেরি ব্যবহার করে একটি custom Java object কে JSON এ serialize করা যায় এবং সেই object থেকে JSON তৈরি করা যায়।
Custom Object Serialization: উদাহরণ
ধরা যাক, আমাদের একটি Student নামক custom object আছে, যার মধ্যে কিছু fields রয়েছে এবং আমরা এই Student object কে JSON ফরম্যাটে serialize করতে চাই।
Step 1: Java Object তৈরি করা
প্রথমে একটি Student ক্লাস তৈরি করি:
public class Student {
private String name;
private int age;
private String course;
// Constructor
public Student(String name, int age, String course) {
this.name = name;
this.age = age;
this.course = course;
}
// Getter Methods
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getCourse() {
return course;
}
}
এটি একটি সাধারণ Student ক্লাস যার মধ্যে তিনটি ফিল্ড রয়েছে:
name: ছাত্রের নাম।age: ছাত্রের বয়স।course: ছাত্র যে কোর্সটি করছে।
Step 2: JSON.simple দিয়ে Custom Object Serialize করা
এখন, আমরা এই Student object কে JSON ফরম্যাটে রূপান্তর করতে পারি। JSON.simple লাইব্রেরির JSONObject ক্লাস ব্যবহার করে এই কাজটি করা হবে।
import org.json.simple.JSONObject;
public class CustomObjectSerializationExample {
public static void main(String[] args) {
// Step 1: Create a custom object
Student student = new Student("John Doe", 21, "Computer Science");
// Step 2: Create a JSONObject
JSONObject studentJson = new JSONObject();
// Step 3: Add data from the custom object to the JSON object
studentJson.put("name", student.getName());
studentJson.put("age", student.getAge());
studentJson.put("course", student.getCourse());
// Step 4: Convert JSONObject to JSON string
String jsonString = studentJson.toJSONString();
// Output the JSON string
System.out.println(jsonString);
}
}
ব্যাখ্যা:
- Step 1: একটি Student অবজেক্ট তৈরি করা হয়েছে।
- Step 2: একটি JSONObject তৈরি করা হয়েছে, যেখানে আমরা Student অবজেক্টের ডেটা put() মেথড ব্যবহার করে JSON পদ্ধতিতে যোগ করেছি।
- Step 3: name, age, এবং course ফিল্ডগুলো Student অবজেক্ট থেকে নিয়ে JSONObject এ যোগ করা হয়েছে।
- Step 4:
toJSONString()মেথড ব্যবহার করে JSONObject কে JSON স্ট্রিং-এ রূপান্তরিত করা হয়েছে।
Output:
{"name":"John Doe","age":21,"course":"Computer Science"}
এখানে, Student অবজেক্টটির ডেটা JSON ফরম্যাটে রূপান্তরিত হয়েছে।
Step 3: Nested Custom Object Serialization
ধরা যাক, আমাদের আরেকটি ক্লাস আছে, Address, যা Student ক্লাসের মধ্যে nested object হিসেবে ব্যবহৃত হবে।
public class Address {
private String street;
private String city;
private String zipCode;
// Constructor
public Address(String street, String city, String zipCode) {
this.street = street;
this.city = city;
this.zipCode = zipCode;
}
// Getter Methods
public String getStreet() {
return street;
}
public String getCity() {
return city;
}
public String getZipCode() {
return zipCode;
}
}
এখন, Student ক্লাসে আমরা Address অবজেক্ট যুক্ত করব এবং JSON.simple ব্যবহার করে nested object serialize করব।
import org.json.simple.JSONObject;
public class CustomObjectSerializationWithNestedExample {
public static void main(String[] args) {
// Step 1: Create a custom Address object
Address address = new Address("123 Main St", "New York", "10001");
// Step 2: Create a custom Student object
Student student = new Student("John Doe", 21, "Computer Science");
// Step 3: Create a JSONObject for the Address
JSONObject addressJson = new JSONObject();
addressJson.put("street", address.getStreet());
addressJson.put("city", address.getCity());
addressJson.put("zipCode", address.getZipCode());
// Step 4: Create a JSONObject for the Student
JSONObject studentJson = new JSONObject();
studentJson.put("name", student.getName());
studentJson.put("age", student.getAge());
studentJson.put("course", student.getCourse());
studentJson.put("address", addressJson); // Adding the nested Address object
// Step 5: Convert the Student JSON object to a JSON string
String jsonString = studentJson.toJSONString();
// Output the JSON string
System.out.println(jsonString);
}
}
ব্যাখ্যা:
- Step 1: একটি Address অবজেক্ট তৈরি করা হয়েছে।
- Step 2: একটি Student অবজেক্ট তৈরি করা হয়েছে।
- Step 3: Address অবজেক্টের জন্য একটি JSONObject তৈরি করা হয়েছে এবং তার ফিল্ডগুলো (street, city, zipCode) JSON এ যোগ করা হয়েছে।
- Step 4: Student অবজেক্টে addressJson (nested object) যুক্ত করা হয়েছে।
- Step 5: Student JSON অবজেক্টটি
toJSONString()মেথড দিয়ে JSON স্ট্রিংয়ে রূপান্তরিত করা হয়েছে।
Output:
{"name":"John Doe","age":21,"course":"Computer Science","address":{"street":"123 Main St","city":"New York","zipCode":"10001"}}
এখানে, Address অবজেক্টটি Student অবজেক্টে nested JSON হিসেবে অন্তর্ভুক্ত হয়েছে।
- JSON.simple লাইব্রেরি ব্যবহার করে custom object serialization একটি সহজ প্রক্রিয়া যেখানে Java objects কে JSON ডেটা ফরম্যাটে রূপান্তরিত করা যায়।
- JSONObject ক্লাসের মাধ্যমে আপনি Java object এর ডেটা key-value পেয়ার হিসেবে JSON ফরম্যাটে অ্যাড করতে পারেন।
- Nested objects এর ক্ষেত্রেও সহজে JSON.simple ব্যবহার করা যায়, যেখানে একটি object অন্য একটি object হিসেবে JSON-এ অন্তর্ভুক্ত করা হয়।
এভাবে, JSON.simple লাইব্রেরি ব্যবহার করে আপনি Java Objects কে JSON এ রূপান্তর করতে পারেন এবং জটিল ডেটা কাঠামোও সহজে ম্যানেজ করতে পারেন।
Read more