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 লাইব্রেরি ব্যবহার করে।
Read more