Gson লাইব্রেরি JSON ডেটাকে Java অবজেক্টে রূপান্তর করতে এবং Java অবজেক্টকে JSON ডেটায় রূপান্তর করতে সহায়তা করে। JsonObject, JsonArray, এবং JsonPrimitive Gson এর তিনটি প্রধান উপাদান (classes), যা JSON ডেটাকে ম্যানিপুলেট করতে ব্যবহৃত হয়। এদের মাধ্যমে আপনি JSON ডেটাকে এক্সেস, তৈরি, এবং কাস্টমাইজ করতে পারেন।
1. JsonObject
JsonObject হল একটি JSON অবজেক্ট যা key-value পেয়ার ধারণ করে। এটি JSON ডেটার একটি অবজেক্ট রিপ্রেজেন্টেশন হিসেবে কাজ করে, যেখানে key স্ট্রিং টাইপের এবং value JSON যেকোনো ডেটা টাইপ হতে পারে (যেমন, JsonPrimitive, JsonObject, JsonArray ইত্যাদি)।
JsonObject ব্যবহার:
Java Code Example:
import com.google.gson.*;
public class Main {
public static void main(String[] args) {
JsonObject jsonObject = new JsonObject();
// Adding key-value pairs
jsonObject.addProperty("name", "Rahim");
jsonObject.addProperty("age", 30);
jsonObject.addProperty("isActive", true);
// Nested JsonObject
JsonObject address = new JsonObject();
address.addProperty("street", "123 Main St");
address.addProperty("city", "Dhaka");
// Adding nested JsonObject to the main JsonObject
jsonObject.add("address", address);
// Convert JsonObject to JSON string
String jsonString = jsonObject.toString();
System.out.println(jsonString);
}
}
আউটপুট:
{
"name": "Rahim",
"age": 30,
"isActive": true,
"address": {
"street": "123 Main St",
"city": "Dhaka"
}
}
এখানে, JsonObject ব্যবহার করে আমরা name, age, isActive এবং address এর key-value পেয়ার তৈরি করেছি। এছাড়া, address হল একটি নেস্টেড JsonObject যা অন্য একটি JsonObject হিসেবে যুক্ত করা হয়েছে।
2. JsonArray
JsonArray হল একটি JSON অ্যারে যা একটি সিকোয়েন্স বা তালিকা ধারণ করে, যার মধ্যে একাধিক JsonElement থাকতে পারে। এটি JSON ডেটার একটি অ্যারে রিপ্রেজেন্টেশন হিসেবে কাজ করে।
JsonArray ব্যবহার:
Java Code Example:
import com.google.gson.*;
public class Main {
public static void main(String[] args) {
JsonArray jsonArray = new JsonArray();
// Adding JsonPrimitive elements
jsonArray.add("Apple");
jsonArray.add("Banana");
jsonArray.add("Orange");
// Adding a JsonObject to the array
JsonObject item = new JsonObject();
item.addProperty("name", "Mango");
item.addProperty("color", "Yellow");
jsonArray.add(item);
// Convert JsonArray to JSON string
String jsonString = jsonArray.toString();
System.out.println(jsonString);
}
}
আউটপুট:
["Apple", "Banana", "Orange", {"name":"Mango","color":"Yellow"}]
এখানে, JsonArray ব্যবহার করে আমরা কয়েকটি JsonPrimitive মান এবং একটি JsonObject যুক্ত করেছি। JsonArray JSON অ্যারে হিসেবে স্টোর করা হয়েছে।
3. JsonPrimitive
JsonPrimitive হল Gson এর একটি ক্লাস যা JSON-এর প্রিমিটিভ ডেটা টাইপ (যেমন, String, Number, Boolean) রিপ্রেজেন্ট করে। JsonPrimitive দিয়ে আপনি JSON স্ট্রিং, সংখ্যা বা বুলিয়ান ভ্যালু ম্যানিপুলেট করতে পারেন।
JsonPrimitive ব্যবহার:
Java Code Example:
import com.google.gson.*;
public class Main {
public static void main(String[] args) {
JsonObject jsonObject = new JsonObject();
// Using JsonPrimitive for primitive data types
JsonPrimitive name = new JsonPrimitive("Rahim");
JsonPrimitive age = new JsonPrimitive(30);
JsonPrimitive isActive = new JsonPrimitive(true);
// Adding JsonPrimitive to JsonObject
jsonObject.add("name", name);
jsonObject.add("age", age);
jsonObject.add("isActive", isActive);
// Convert JsonObject to JSON string
String jsonString = jsonObject.toString();
System.out.println(jsonString);
}
}
আউটপুট:
{
"name": "Rahim",
"age": 30,
"isActive": true
}
এখানে, JsonPrimitive ব্যবহার করে আমরা String, Integer, এবং Boolean ধরনের প্রিমিটিভ মান যোগ করেছি।
JsonObject, JsonArray, এবং JsonPrimitive এর সংমিশ্রণ
এগুলোকে একত্রিত করে জটিল JSON ডেটা তৈরি করা যায়। আপনি যদি একাধিক JsonObject এবং JsonArray ব্যবহার করে JSON তৈরি করতে চান, তাহলে আপনি এসব উপাদানগুলিকে নেস্টেডভাবে যোগ করতে পারেন।
Complex Example Using All Three Classes:
Java Code Example:
import com.google.gson.*;
public class Main {
public static void main(String[] args) {
// Create a JsonObject for user
JsonObject userObject = new JsonObject();
userObject.addProperty("userName", "Rahim");
userObject.addProperty("userAge", 30);
// Create JsonArray for hobbies
JsonArray hobbiesArray = new JsonArray();
hobbiesArray.add("Reading");
hobbiesArray.add("Cycling");
hobbiesArray.add("Traveling");
// Adding JsonArray to JsonObject
userObject.add("hobbies", hobbiesArray);
// Create JsonObject for address (nested object)
JsonObject addressObject = new JsonObject();
addressObject.addProperty("street", "123 Main St");
addressObject.addProperty("city", "Dhaka");
// Add nested JsonObject to main JsonObject
userObject.add("address", addressObject);
// Convert the final JsonObject to JSON string
String jsonString = userObject.toString();
System.out.println(jsonString);
}
}
আউটপুট:
{
"userName": "Rahim",
"userAge": 30,
"hobbies": ["Reading", "Cycling", "Traveling"],
"address": {
"street": "123 Main St",
"city": "Dhaka"
}
}
এখানে, আমরা একটি JsonObject তৈরি করেছি যা একাধিক JsonArray এবং JsonObject ধারণ করে, এবং একত্রে JSON ফরম্যাটে রূপান্তরিত হয়েছে।
সারাংশ:
JsonObject: JSON ডেটার অবজেক্ট রিপ্রেজেন্টেশন, যেখানে key-value পেয়ার থাকে। আপনিaddProperty()মেথড দিয়ে key-value পেয়ার যোগ করতে পারেন।JsonArray: JSON অ্যারে রিপ্রেজেন্টেশন, যা একাধিকJsonElementধারণ করে (যেমনJsonPrimitive,JsonObjectইত্যাদি)। এটি অ্যারের মতো ডেটা স্টোর করতে ব্যবহৃত হয়।JsonPrimitive: JSON এর প্রিমিটিভ ডেটা টাইপ যেমনString,Number, বাBooleanরিপ্রেজেন্টেশন। এটি JSON এর সরল মান ধারণ করে।
এগুলোকে একত্রে ব্যবহার করে আপনি খুবই জটিল JSON কাঠামো তৈরি এবং ম্যানিপুলেট করতে পারেন। Gson এই উপাদানগুলির মাধ্যমে JSON ডেটাকে আরও সুবিধাজনক এবং ডাইনামিকভাবে পরিচালনা করার সুযোগ দেয়।
Read more