JSON Deserialization হল প্রক্রিয়া যেখানে JSON ডেটা (যা সাধারণত স্ট্রিং বা JSON ফাইল হিসেবে থাকে) Java Object-এ রূপান্তরিত করা হয়। JSON.simple লাইব্রেরি ব্যবহার করে এই প্রক্রিয়াটি খুব সহজে করা যায়। এটি JSON string থেকে Java Object তৈরি করতে সহায়তা করে।
JSON.simple লাইব্রেরি দিয়ে JSON থেকে Java Object এ রূপান্তর (Deserialization)
Steps for Deserialization:
- JSON String তৈরি করা: প্রথমে JSON ডেটা স্ট্রিং তৈরি করতে হবে বা JSON ফাইল থেকে ডেটা পড়তে হবে।
- JSON Parsing: JSON স্ট্রিং বা JSON ফাইলকে JSONParser ব্যবহার করে পার্স করতে হবে।
- Java Object তৈরি করা: JSON অবজেক্টের ডেটা Java Object-এ রূপান্তরিত হবে।
উদাহরণ: JSON থেকে Java Object এ রূপান্তর (Deserialization)
Step 1: JSON String থেকে Java Object তৈরি করা
ধরা যাক, আমাদের একটি Person ক্লাস আছে এবং একটি JSON স্ট্রিং আছে, যেটি Person অবজেক্টে রূপান্তরিত হবে।
Person ক্লাস:
public class Person {
private String name;
private int age;
private String city;
// Constructor
public Person(String name, int age, String city) {
this.name = name;
this.age = age;
this.city = city;
}
// Getters and Setters
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", city=" + city + "]";
}
}
Step 2: JSON String থেকে Java Object এ রূপান্তর
এখন, JSON স্ট্রিংটিকে Person ক্লাসের একটি অবজেক্টে রূপান্তর করতে হবে।
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
public class JsonDeserializationExample {
public static void main(String[] args) {
// JSON string (simulating data received from a web service or file)
String jsonString = "{\"name\":\"John Doe\", \"age\":30, \"city\":\"New York\"}";
// Create a JSON parser object
JSONParser parser = new JSONParser();
try {
// Parse the JSON string to a JSONObject
JSONObject jsonObject = (JSONObject) parser.parse(jsonString);
// Deserialize JSON to Java Object
String name = (String) jsonObject.get("name");
long age = (long) jsonObject.get("age"); // Age is returned as long, so we cast it to int
String city = (String) jsonObject.get("city");
// Create Person object from JSON data
Person person = new Person(name, (int) age, city);
// Print the Person object
System.out.println(person);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
ব্যাখ্যা:
- JSONParser: JSON স্ট্রিংটি পার্স করার জন্য এটি ব্যবহার করা হয়েছে।
- JSONObject: JSON অবজেক্টে ডেটা সংগৃহীত হয়।
- Deserialization: JSON অবজেক্ট থেকে Java Object তৈরি করা হয় (এখানে Person অবজেক্ট)।
- Casting: কিছু ক্ষেত্র যেমন
age, long টাইপে ফেরত আসে, তাই তা int টাইপে কাস্ট করা হয়েছে।
Output:
Person [name=John Doe, age=30, city=New York]
এখানে JSON string থেকে একটি Person object তৈরি করা হয়েছে।
Step 3: JSON ফাইল থেকে Java Object তৈরি করা (Optional)
এখন, যদি JSON ডেটা ফাইলে থাকে, তাহলে সেই JSON ফাইল থেকে Java Object তৈরি করতে হবে।
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import java.io.FileReader;
public class JsonFileDeserializationExample {
public static void main(String[] args) {
// File containing JSON data
String filePath = "person.json";
// Create a JSON parser object
JSONParser parser = new JSONParser();
try {
// Read JSON data from file and parse it
FileReader reader = new FileReader(filePath);
JSONObject jsonObject = (JSONObject) parser.parse(reader);
// Deserialize JSON to Java Object
String name = (String) jsonObject.get("name");
long age = (long) jsonObject.get("age");
String city = (String) jsonObject.get("city");
// Create Person object from JSON data
Person person = new Person(name, (int) age, city);
// Print the Person object
System.out.println(person);
} catch (Exception e) {
e.printStackTrace();
}
}
}
JSON File Example (person.json):
{
"name": "Alice",
"age": 28,
"city": "Los Angeles"
}
Output:
Person [name=Alice, age=28, city=Los Angeles]
এখানে, আমরা JSON file থেকে ডেটা পড়েছি এবং তা Person অবজেক্টে রূপান্তর করেছি।
- Deserialization হল JSON ডেটাকে Java Object এ রূপান্তর করার প্রক্রিয়া।
- JSON.simple লাইব্রেরি ব্যবহার করে JSON string বা JSON file থেকে Java Object তৈরি করা যায়।
- JSONParser ব্যবহার করে JSON ডেটা পার্স (parse) করা হয় এবং JSONObject ব্যবহার করে সেই ডেটাকে Java Object-এ রূপান্তরিত করা হয়।
এটি একটি সিম্পল উদাহরণ ছিল যা JSON.simple লাইব্রেরি ব্যবহার করে JSON থেকে Java Object রূপান্তর করার প্রক্রিয়া দেখিয়েছে।
Read more