Collection (List, Set, Map) কে JSON এ কনভার্ট করা

JSON এর সাথে Collection এবং Generic টাইপের কাজ - জিসন (Gson) - Java Technologies

433

Gson লাইব্রেরি ব্যবহার করে Java-এর Collection (যেমন List, Set, এবং Map) কে JSON ফরম্যাটে কনভার্ট করা খুবই সহজ। Gson স্বাভাবিকভাবে বিভিন্ন ধরনের Collection-এর অবজেক্টকে JSON এ রূপান্তর করতে পারে, তবে কিছু ক্ষেত্রে বিশেষভাবে টাইপ ইনফরমেশন দেওয়ার প্রয়োজন হতে পারে, যেমন List<String> বা Map<String, Integer>

1. List কে JSON এ কনভার্ট করা:

ধরা যাক, আমাদের একটি List অবজেক্ট রয়েছে, যা কিছু String ডেটা ধারণ করে।

উদাহরণ:

import com.google.gson.Gson;
import java.util.List;
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // List তৈরি করা
        List<String> names = new ArrayList<>();
        names.add("Alice");
        names.add("Bob");
        names.add("Charlie");

        // Gson অবজেক্ট তৈরি
        Gson gson = new Gson();

        // List কে JSON এ রূপান্তর করা
        String json = gson.toJson(names);

        // JSON প্রিন্ট করা
        System.out.println(json);
    }
}

আউটপুট:

["Alice","Bob","Charlie"]

এখানে, toJson() মেথড ব্যবহার করে List<String> কে JSON অ্যারে হিসেবে রূপান্তরিত করা হয়েছে।


2. Set কে JSON এ কনভার্ট করা:

Set হল একটি কালেকশন টাইপ যেখানে ডুপ্লিকেট আইটেম থাকতে পারে না। Gson এর মাধ্যমে এটি JSON অ্যারে আকারে কনভার্ট করা যায়।

উদাহরণ:

import com.google.gson.Gson;
import java.util.Set;
import java.util.HashSet;

public class Main {
    public static void main(String[] args) {
        // Set তৈরি করা
        Set<String> namesSet = new HashSet<>();
        namesSet.add("Alice");
        namesSet.add("Bob");
        namesSet.add("Charlie");

        // Gson অবজেক্ট তৈরি
        Gson gson = new Gson();

        // Set কে JSON এ রূপান্তর করা
        String json = gson.toJson(namesSet);

        // JSON প্রিন্ট করা
        System.out.println(json);
    }
}

আউটপুট:

["Alice","Bob","Charlie"]

এখানে Set কে JSON অ্যারে আকারে রূপান্তরিত করা হয়েছে, যেখানে উপাদানগুলো ডুপ্লিকেট ছাড়া রয়েছে।


3. Map (Key-Value Pair) কে JSON এ কনভার্ট করা:

Map হল একটি কনটেইনার যেখানে ডেটা Key-Value পেয়ার আকারে সংরক্ষিত থাকে। Gson দিয়ে Map অবজেক্টকে JSON অবজেক্ট হিসেবে কনভার্ট করা যায়।

উদাহরণ:

import com.google.gson.Gson;
import java.util.Map;
import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        // Map তৈরি করা
        Map<String, Integer> ageMap = new HashMap<>();
        ageMap.put("Alice", 30);
        ageMap.put("Bob", 25);
        ageMap.put("Charlie", 35);

        // Gson অবজেক্ট তৈরি
        Gson gson = new Gson();

        // Map কে JSON এ রূপান্তর করা
        String json = gson.toJson(ageMap);

        // JSON প্রিন্ট করা
        System.out.println(json);
    }
}

আউটপুট:

{"Alice":30,"Bob":25,"Charlie":35}

এখানে, Map<String, Integer> কে JSON অবজেক্ট হিসেবে রূপান্তরিত করা হয়েছে, যেখানে কীগুলো স্ট্রিং এবং মানগুলো ইন্টিজার।


4. জেনেরিক টাইপের Collection কে JSON এ কনভার্ট করা:

যখন আপনার Collection টাইপ জেনেরিক (যেমন List<String>, Map<String, Integer>) হয়, তখন Gson লাইব্রেরি আপনার টাইপ ইনফরমেশন বোঝে এবং সঠিকভাবে রূপান্তর করতে পারে। তবে, কিছু ক্ষেত্রে টাইপ ইনফরমেশন ঠিকমতো কাজ করার জন্য TypeToken ব্যবহার করতে হতে পারে।

উদাহরণ: List<String> রূপান্তর:

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        List<String> names = new ArrayList<>();
        names.add("Alice");
        names.add("Bob");
        names.add("Charlie");

        Gson gson = new Gson();
        
        // TypeToken ব্যবহার করে List<String> টাইপ নির্ধারণ করা
        Type listType = new TypeToken<List<String>>() {}.getType();
        
        // List কে JSON এ রূপান্তর করা
        String json = gson.toJson(names, listType);
        
        // JSON প্রিন্ট করা
        System.out.println(json);
    }
}

আউটপুট:

["Alice","Bob","Charlie"]

এখানে TypeToken ব্যবহার করে List<String> টাইপকে Gson বুঝতে সাহায্য করা হয়েছে।


Gson এর toJson() মেথডের সারাংশ:

  • List, Set, এবং Map এর মতো Java Collection টাইপ গুলোকে JSON ফরম্যাটে কনভার্ট করতে Gson এর toJson() মেথড ব্যবহার করা হয়।
  • toJson() মেথড স্বয়ংক্রিয়ভাবে Collection-এর উপাদানগুলোর উপর ভিত্তি করে JSON অ্যারে বা অবজেক্ট রূপান্তর করে।
  • জেনেরিক টাইপের Collection রূপান্তরের জন্য TypeToken ব্যবহার করা হয়, যাতে Gson টাইপ ইনফরমেশন ঠিকমতো বুঝে এবং রূপান্তর করতে পারে।

এভাবে আপনি Java Collection টাইপ (List, Set, Map) গুলোকে সহজেই JSON এ কনভার্ট করতে পারেন Gson লাইব্রেরি ব্যবহার করে।

Content added By
Promotion

Are you sure to start over?

Loading...