উদাহরণ সহ Custom Object Serialization

JSON.simple এর মাধ্যমে Custom Object Serialization - জেসন.সিম্পল (Json.Simple) - Java Technologies

294

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 ক্লাস যার মধ্যে তিনটি ফিল্ড রয়েছে:

  1. name: ছাত্রের নাম।
  2. age: ছাত্রের বয়স।
  3. 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);
    }
}

ব্যাখ্যা:

  1. Step 1: একটি Student অবজেক্ট তৈরি করা হয়েছে।
  2. Step 2: একটি JSONObject তৈরি করা হয়েছে, যেখানে আমরা Student অবজেক্টের ডেটা put() মেথড ব্যবহার করে JSON পদ্ধতিতে যোগ করেছি।
  3. Step 3: name, age, এবং course ফিল্ডগুলো Student অবজেক্ট থেকে নিয়ে JSONObject এ যোগ করা হয়েছে।
  4. 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);
    }
}

ব্যাখ্যা:

  1. Step 1: একটি Address অবজেক্ট তৈরি করা হয়েছে।
  2. Step 2: একটি Student অবজেক্ট তৈরি করা হয়েছে।
  3. Step 3: Address অবজেক্টের জন্য একটি JSONObject তৈরি করা হয়েছে এবং তার ফিল্ডগুলো (street, city, zipCode) JSON এ যোগ করা হয়েছে।
  4. Step 4: Student অবজেক্টে addressJson (nested object) যুক্ত করা হয়েছে।
  5. 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 এ রূপান্তর করতে পারেন এবং জটিল ডেটা কাঠামোও সহজে ম্যানেজ করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...