JSON.simple দিয়ে Java Object কে JSON এ রূপান্তর করা

JSON Encoding (Java Object থেকে JSON এ রূপান্তর) - জেসন.সিম্পল (Json.Simple) - Java Technologies

451

JSON.simple লাইব্রেরি ব্যবহার করে আপনি Java Object গুলিকে JSON ফরম্যাটে রূপান্তর করতে পারেন। এটি সাধারণত JSONObject এবং JSONArray ব্যবহার করে Java অবজেক্টের ডেটাকে JSON অবজেক্টে রূপান্তর করে। এই লাইব্রেরি দিয়ে আপনি একটি Java Object কে JSON স্ট্রিং-এ কনভার্ট করতে পারবেন, যা API-তে পাঠানোর জন্য বা ডেটাবেসে সেভ করার জন্য ব্যবহার করা যায়।

JSON.simple লাইব্রেরি সরাসরি Java Object কে JSON এ রূপান্তর করার জন্য একটি বিশেষ ফিচার সরবরাহ করে না। তবে, আপনি Java Reflection বা Custom Logic ব্যবহার করে Java Object কে JSON এ রূপান্তর করতে পারেন।

ধাপ ১: JSON.simple লাইব্রেরি ডিপেনডেন্সি যোগ করা

Maven প্রজেক্টে JSON.simple লাইব্রেরি ব্যবহার করতে হলে প্রথমে আপনি pom.xml-এ JSON.simple ডিপেনডেন্সি যোগ করতে হবে:

<dependency>
    <groupId>com.googlecode.json-simple</groupId>
    <artifactId>json-simple</artifactId>
    <version>1.1.1</version>
</dependency>

ধাপ ২: Java Object কে JSON এ রূপান্তর

এখানে আমরা একটি Java Object (যেমন Person ক্লাস) কে JSON Object-এ রূপান্তর করার উদাহরণ দেখব।

Java Class (Person.java):

public class Person {
    private String name;
    private int age;

    // Constructor
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // 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;
    }
}

Java Object থেকে JSON এ রূপান্তর:

import org.json.simple.JSONObject;

public class JavaToJsonExample {
    public static void main(String[] args) {
        // Create a new Person object
        Person person = new Person("John", 30);

        // Create a JSONObject to store the Java object's data
        JSONObject jsonObject = new JSONObject();

        // Add data from the Java object to the JSONObject
        jsonObject.put("name", person.getName());
        jsonObject.put("age", person.getAge());

        // Print the JSON object as a string
        System.out.println(jsonObject.toJSONString());
    }
}

Output:

{"name":"John","age":30}

এখানে:

  • Person ক্লাসের অবজেক্ট person তৈরি করা হয়েছে।
  • তারপর JSON.simple লাইব্রেরির JSONObject ব্যবহার করে Java Object থেকে ডেটা পেয়ে JSON অবজেক্ট তৈরি করা হয়েছে।
  • jsonObject.put() মেথড ব্যবহার করে Java Object থেকে ডেটা JSON অবজেক্টে যোগ করা হয়েছে।

ধাপ ৩: Java Object কে JSON এ রূপান্তরের জন্য Reflection ব্যবহার করা

যদি আপনার Java Object ক্লাসের ক্ষেত্রে multiple fields থাকে, তবে Reflection ব্যবহার করে আপনাকে প্রতিটি ফিল্ডকে JSON Object-এ রূপান্তর করতে হতে পারে।

import org.json.simple.JSONObject;
import java.lang.reflect.Field;

public class JavaToJsonWithReflection {
    public static void main(String[] args) {
        // Create a new Person object
        Person person = new Person("Alice", 25);

        // Create a JSONObject
        JSONObject jsonObject = new JSONObject();

        try {
            // Use reflection to get fields of the Person class
            Field[] fields = person.getClass().getDeclaredFields();
            for (Field field : fields) {
                field.setAccessible(true);  // Make private fields accessible
                jsonObject.put(field.getName(), field.get(person));  // Add field name and value to JSONObject
            }
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }

        // Print the JSON object as a string
        System.out.println(jsonObject.toJSONString());
    }
}

Output:

{"name":"Alice","age":25}

এখানে:

  • Reflection ব্যবহার করে Person ক্লাসের সমস্ত ফিল্ড থেকে ডেটা পাওয়া হয়েছে এবং JSON Object-এ যোগ করা হয়েছে।
  • Field.setAccessible(true) ব্যবহার করা হয়েছে যাতে private ফিল্ডও অ্যাক্সেস করা যায়।

JSON.simple দিয়ে Complex Java Objects রূপান্তর

যদি আপনার Java Object complex হয়, যেমন একটি nested object বা List থাকে, তবে JSONObject বা JSONArray ব্যবহার করে nested objects বা arrays JSON-এ রূপান্তর করা যেতে পারে।

উদাহরণ: Nested Objects (Java Object রূপান্তর)

import org.json.simple.JSONObject;

class Address {
    private String street;
    private String city;

    public Address(String street, String city) {
        this.street = street;
        this.city = city;
    }

    public String getStreet() {
        return street;
    }

    public String getCity() {
        return city;
    }
}

public class JavaToJsonNestedExample {
    public static void main(String[] args) {
        Address address = new Address("123 Main St", "New York");

        // Create a JSONObject for the nested Address object
        JSONObject addressJson = new JSONObject();
        addressJson.put("street", address.getStreet());
        addressJson.put("city", address.getCity());

        // Create the main Person object and add the nested Address object
        JSONObject personJson = new JSONObject();
        personJson.put("name", "Alice");
        personJson.put("age", 30);
        personJson.put("address", addressJson);  // Nested Address object

        // Print the JSON object
        System.out.println(personJson.toJSONString());
    }
}

Output:

{"name":"Alice","age":30,"address":{"street":"123 Main St","city":"New York"}}

এখানে:

  • Address একটি nested object হিসেবে Person অবজেক্টের মধ্যে রাখা হয়েছে। এটি JSON.simple এর মাধ্যমে nested JSON আউটপুট হিসেবে তৈরি হয়েছে।

JSON.simple লাইব্রেরির সুবিধা

  1. সহজ এবং লাইটওয়েট: JSON.simple একটি খুব সহজ এবং লাইটওয়েট লাইব্রেরি, যা দ্রুত পার্সিং এবং JSON স্ট্রিং তৈরির জন্য ব্যবহার করা যেতে পারে।
  2. JSON Object এবং JSONArray এর সমর্থন: JSON.simple JSON Object এবং JSONArray এর সাপোর্ট দেয়, যেটি ডেটা ম্যানিপুলেশন এবং ট্রান্সফারের জন্য খুবই কার্যকরী।
  3. Java Object থেকে JSON রূপান্তর: Java Object থেকে JSON অবজেক্ট তৈরি করা সহজ। Reflection ব্যবহার করে complex Java Objects ও JSON-এ রূপান্তর করা সম্ভব।
  4. Minimal Dependencies: JSON.simple কোনো অতিরিক্ত ডিপেনডেন্সি ছাড়া কাজ করে, যা এর পারফরম্যান্স এবং সহজ ব্যবহারে সহায়ক।

JSON.simple একটি সহজ, হালকা এবং দ্রুত JSON লাইব্রেরি যা Java Object কে JSON এ রূপান্তর করার জন্য ব্যবহৃত হয়। এটি খুব কমপ্লেক্স না হলেও, সরল JSON স্ট্রাকচার এবং ছোট Java Object-এর জন্য আদর্শ। যদি আপনি একটি সহজ, দ্রুত, এবং কার্যকর JSON রূপান্তর পদ্ধতি চান তবে JSON.simple একটি ভাল বিকল্প।

Content added By
Promotion

Are you sure to start over?

Loading...