Boon এর Type Conversion Mechanism কি?
Boon লাইব্রেরি Java অবজেক্ট এবং JSON ডাটার মধ্যে টাইপ কনভার্সন (Type Conversion) করার জন্য একটি শক্তিশালী এবং সহজ প্রক্রিয়া প্রদান করে। এটি JSON ডাটা এবং Java অবজেক্টের মধ্যে ডাটা আদান-প্রদানকে দ্রুত এবং কার্যকরীভাবে সম্পাদন করতে সক্ষম। Boon এর Type Conversion Mechanism মূলত JSON ফরম্যাটের ডাটাকে Java ক্লাসে কনভার্ট (ডেসিরিয়ালাইজেশন) এবং Java অবজেক্টকে JSON ফরম্যাটে রূপান্তর (সিরিয়ালাইজেশন) করার জন্য ব্যবহৃত হয়।
Boon লাইব্রেরি ডাটা কনভার্সন প্রক্রিয়াকে সরল এবং দ্রুত করে তোলে, বিশেষ করে JSON ডাটা এবং Java অবজেক্টের মধ্যে টাইপ কনভার্সন করার জন্য। Boon এর মাধ্যমে আপনি JSON থেকে সহজেই Java অবজেক্টে রূপান্তর করতে পারেন এবং Java অবজেক্টকে JSON এ রূপান্তর করতে পারেন।
Boon এর Type Conversion Process
Boon এর টাইপ কনভার্সন মূলত দুটি প্রধান অংশে বিভক্ত:
- Java অবজেক্ট থেকে JSON এ রূপান্তর (Serialization)
- JSON থেকে Java অবজেক্টে রূপান্তর (Deserialization)
1. Java অবজেক্ট থেকে JSON এ রূপান্তর (Serialization)
Boon এর Boon.toJson() মেথড ব্যবহার করে Java অবজেক্টকে JSON ফরম্যাটে রূপান্তর করা যায়। এটি সরল এবং দ্রুতভাবে Java অবজেক্টকে JSON স্ট্রিংয়ে কনভার্ট করে।
উদাহরণ: Java অবজেক্টকে JSON এ রূপান্তর
import io.boon.Boon;
import io.boon.json.JsonObject;
public class JavaToJsonExample {
public static void main(String[] args) {
// Java অবজেক্ট তৈরি
Person person = new Person("John", 30);
// Java অবজেক্টকে JSON এ রূপান্তর
String json = Boon.toJson(person);
// JSON প্রিন্ট করা
System.out.println(json);
}
// Java ক্লাস
public static class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
}
}
এখানে, Boon.toJson() মেথড ব্যবহার করে Person অবজেক্টকে JSON স্ট্রিংয়ে রূপান্তর করা হয়েছে। ফলস্বরূপ, JSON স্ট্রিং প্রিন্ট হবে যেমন:
{"name":"John","age":30}
2. JSON থেকে Java অবজেক্টে রূপান্তর (Deserialization)
Boon এর Boon.fromJson() মেথড ব্যবহার করে JSON ডাটাকে Java অবজেক্টে রূপান্তর করা যায়। এটি JSON ফরম্যাটে পাওয়া ডাটাকে একটি নির্দিষ্ট Java ক্লাসে কনভার্ট করে।
উদাহরণ: JSON থেকে Java অবজেক্টে রূপান্তর
import io.boon.Boon;
import io.boon.json.JsonObject;
public class JsonToJavaExample {
public static void main(String[] args) {
// JSON ডাটা
String json = "{\"name\":\"John\",\"age\":30}";
// JSON ডাটাকে Java অবজেক্টে রূপান্তর
Person person = Boon.fromJson(json, Person.class);
// Java অবজেক্ট থেকে ডাটা প্রিন্ট করা
System.out.println("Name: " + person.name);
System.out.println("Age: " + person.age);
}
// Java ক্লাস
public static class Person {
String name;
int age;
}
}
এখানে, Boon.fromJson() মেথড ব্যবহার করে JSON ডাটা Person ক্লাসে রূপান্তরিত করা হয়েছে। JSON থেকে ডাটা বের করে প্রিন্ট করা হয়েছে:
Name: John
Age: 30
3. Complex Types এবং Nested Objects এর কনভার্সন
Boon লাইব্রেরি Nested বা Complex টাইপসের কনভার্সনও সহজভাবে পরিচালনা করতে পারে। আপনি যদি একটি ক্লাসের ভিতরে অন্য একটি ক্লাস বা তালিকা ব্যবহার করেন, তবে Boon তার কনভার্সন অটোমেটিকভাবে পরিচালনা করবে।
উদাহরণ: Nested Objects এর কনভার্সন
import io.boon.Boon;
import io.boon.json.JsonObject;
import java.util.List;
public class NestedObjectsExample {
public static void main(String[] args) {
// Nested Object
Department department = new Department("HR", List.of(new Person("John", 30), new Person("Jane", 28)));
// Java অবজেক্টকে JSON এ রূপান্তর
String json = Boon.toJson(department);
// JSON প্রিন্ট করা
System.out.println(json);
}
// Java ক্লাস
public static class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
}
public static class Department {
String name;
List<Person> employees;
Department(String name, List<Person> employees) {
this.name = name;
this.employees = employees;
}
}
}
এই উদাহরণে, Department ক্লাসে একটি List<Person> আছে, যা Nested Object হিসাবে কাজ করছে। Boon এই Nested Object গুলোর কনভার্সন অটোমেটিকভাবে পরিচালনা করবে এবং JSON স্ট্রিং হিসেবে এটি আউটপুট করবে:
{"name":"HR","employees":[{"name":"John","age":30},{"name":"Jane","age":28}]}
4. Custom Type Conversion
Boon লাইব্রেরি কাস্টম টাইপ কনভার্সনের জন্যও সুবিধা প্রদান করে, যেখানে আপনি যদি বিশেষ কোনো কনভার্সন চান (যেমন, কোন বিশেষ ফিল্ড বা ডাটা ফরম্যাট), তবে কাস্টম সিরিয়ালাইজার বা ডেসিরিয়ালাইজার তৈরি করে তা করতে পারেন।
উদাহরণ: কাস্টম সিরিয়ালাইজেশন
import io.boon.Boon;
import io.boon.serializer.JsonSerializer;
public class CustomSerializationExample {
public static void main(String[] args) {
// Custom Serializer তৈরি
JsonSerializer customSerializer = obj -> {
if (obj instanceof Person) {
Person person = (Person) obj;
return "{\"full_name\":\"" + person.name + "\", \"years\": " + person.age + "}";
}
return null;
};
// Person অবজেক্ট
Person person = new Person("John", 30);
// কাস্টম সিরিয়ালাইজার ব্যবহার
String json = customSerializer.serialize(person);
System.out.println(json);
}
public static class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
}
}
এখানে, Person অবজেক্টকে কাস্টমভাবে সিরিয়ালাইজ করা হয়েছে, যেখানে name কে full_name এবং age কে years হিসেবে JSON এ রূপান্তরিত করা হয়েছে।
সারাংশ
Boon এর Type Conversion Mechanism JSON ডাটা এবং Java অবজেক্টের মধ্যে দ্রুত এবং সহজ রূপান্তর সম্পাদন করতে সক্ষম। Boon এর toJson() এবং fromJson() মেথডগুলি JSON পার্সিং এবং সিরিয়ালাইজেশন/ডেসিরিয়ালাইজেশন প্রক্রিয়া খুবই কার্যকরীভাবে পরিচালনা করে। Nested Objects, Complex Types এবং কাস্টম সিরিয়ালাইজেশনও Boon সহজভাবে পরিচালনা করতে পারে। Boon এর এই টুলসগুলি ডেভেলপারদের জন্য টাইপ কনভার্সন প্রক্রিয়াকে দ্রুত এবং ক্লিন করে তোলে।