JSON এবং এর ব্যবহার

Gson এর পরিচিতি - জিসন (Gson) - Java Technologies

353

Gson হলো Google এর একটি লাইব্রেরি যা JSON ডেটাকে Java অবজেক্টে রূপান্তর করতে এবং Java অবজেক্টকে JSON-এ রূপান্তর করতে ব্যবহৃত হয়। এটি একটি জনপ্রিয় লাইব্রেরি যা ডেটা সিরিয়ালাইজেশন এবং ডেসিরিয়ালাইজেশনের জন্য ব্যবহৃত হয়।


JSON কি?

JSON (JavaScript Object Notation) হলো একটি হালকা ওজনের ডেটা ইন্টারচেঞ্জ ফরম্যাট যা সহজেই মানুষ পড়তে এবং মেশিন পার্স করতে পারে। এটি মূলত কী-মান (key-value) জোড়া আকারে ডেটা সঞ্চালন করতে ব্যবহৃত হয়।

উদাহরণস্বরূপ:

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

Gson এর বৈশিষ্ট্য

  1. সহজ এবং দ্রুত: এটি সহজ কোডিং স্ট্রাকচার ব্যবহার করে দ্রুত কাজ করে।
  2. পাঠযোগ্যতা: JSON ডেটা এবং Java অবজেক্টকে পরিষ্কারভাবে রূপান্তর করতে সক্ষম।
  3. Custom Serialization/Deserialization: প্রয়োজন অনুযায়ী কাস্টম ডেটা ফরম্যাট করতে সাহায্য করে।
  4. অ্যারেস এবং কালেকশন সাপোর্ট: অ্যারে, লিস্ট, ম্যাপ ইত্যাদি রূপান্তরে দক্ষ।

Gson ব্যবহার শুরু করার জন্য

প্রথমে আপনার প্রকল্পে Gson যোগ করতে হবে। যদি Maven ব্যবহার করেন, তাহলে Gson যোগ করার জন্য নিচের নির্ভরতা (dependency) ব্যবহার করুন:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.9</version> <!-- সর্বশেষ ভার্সন -->
</dependency>

Gradle ব্যবহার করলে:

implementation 'com.google.code.gson:gson:2.8.9'

Gson ব্যবহার উদাহরণ

1. JSON থেকে Java অবজেক্টে রূপান্তর (Deserialization)

import com.google.gson.Gson;

public class Main {
    public static void main(String[] args) {
        String json = "{\"name\":\"John\",\"age\":30,\"isStudent\":false}";

        Gson gson = new Gson();

        // JSON থেকে Java অবজেক্টে রূপান্তর
        Person person = gson.fromJson(json, Person.class);

        System.out.println("Name: " + person.name);
        System.out.println("Age: " + person.age);
        System.out.println("Is Student: " + person.isStudent);
    }
}

class Person {
    String name;
    int age;
    boolean isStudent;
}

আউটপুট:

Name: John
Age: 30
Is Student: false

2. Java অবজেক্ট থেকে JSON-এ রূপান্তর (Serialization)

import com.google.gson.Gson;

public class Main {
    public static void main(String[] args) {
        // Java অবজেক্ট তৈরি
        Person person = new Person("Alice", 25, true);

        Gson gson = new Gson();

        // Java অবজেক্ট থেকে JSON-এ রূপান্তর
        String json = gson.toJson(person);

        System.out.println("JSON: " + json);
    }
}

class Person {
    String name;
    int age;
    boolean isStudent;

    public Person(String name, int age, boolean isStudent) {
        this.name = name;
        this.age = age;
        this.isStudent = isStudent;
    }
}

আউটপুট:

JSON: {"name":"Alice","age":25,"isStudent":true}

Advanced Features

1. Custom Serialization/Deserialization

import com.google.gson.*;

import java.lang.reflect.Type;

public class Main {
    public static void main(String[] args) {
        String json = "{\"name\":\"Bob\",\"age\":\"unknown\",\"isStudent\":true}";

        Gson gson = new GsonBuilder()
                        .registerTypeAdapter(Person.class, new PersonDeserializer())
                        .create();

        Person person = gson.fromJson(json, Person.class);
        System.out.println("Name: " + person.name);
        System.out.println("Age: " + person.age);
        System.out.println("Is Student: " + person.isStudent);
    }
}

class Person {
    String name;
    int age;
    boolean isStudent;
}

class PersonDeserializer implements JsonDeserializer<Person> {
    @Override
    public Person deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
        JsonObject jsonObject = json.getAsJsonObject();
        String name = jsonObject.get("name").getAsString();
        boolean isStudent = jsonObject.get("isStudent").getAsBoolean();
        int age;
        try {
            age = jsonObject.get("age").getAsInt();
        } catch (NumberFormatException e) {
            age = 0; // ডিফল্ট মান
        }
        return new Person(name, age, isStudent);
    }
}

আউটপুট:

Name: Bob
Age: 0
Is Student: true

Gson এর ব্যবহারক্ষেত্র

  1. API Integration: ক্লায়েন্ট এবং সার্ভার পারস্পরিক ডেটা বিনিময়ের জন্য।
  2. ডেটাবেস স্টোরেজ: JSON-এ ডেটা সঞ্চয় এবং রিট্রিভ করা।
  3. কনফিগারেশন ফাইল: JSON-এ অ্যাপ্লিকেশনের সেটিং সংরক্ষণ করা।

Gson সহজবোধ্য এবং দ্রুত ডেটা রূপান্তর করার জন্য উপযুক্ত। এটি ব্যবহার করলে JSON ডেটা হ্যান্ডলিং সহজ এবং কার্যকর হয়ে ওঠে।

Content added By
Promotion

Are you sure to start over?

Loading...