org.json লাইব্রেরির সাহায্যে আপনি সহজেই JSON অবজেক্ট তৈরি করতে পারেন এবং সেটিতে বিভিন্ন স্তরের (nested) ডাটা রাখতে পারেন। JSON অবজেক্ট তৈরি করার সময়, আপনি স্ট্রিং, নাম্বার, অ্যারে এবং অন্য JSON অবজেক্টও অন্তর্ভুক্ত করতে পারেন, যা একটি জটিল বা complex JSON object তৈরি করতে সহায়ক।
এখানে আমরা দেখব কিভাবে একটি জটিল JSON অবজেক্ট তৈরি করা যায়, যার মধ্যে একাধিক স্তরের অবজেক্ট এবং অ্যারে থাকে।
Complex JSON Object তৈরি করার জন্য মূল উপাদান
- JSONObject: JSON অবজেক্ট তৈরি এবং ম্যানিপুলেট করার জন্য।
- JSONArray: JSON অ্যারে তৈরি এবং ম্যানিপুলেট করার জন্য।
- Nested Objects: JSON অবজেক্টের মধ্যে অন্য JSON অবজেক্ট অন্তর্ভুক্ত করা।
- Mixed Data Types: স্ট্রিং, নাম্বার, অ্যারে, এবং অবজেক্টগুলিকে একসাথে রাখা।
উদাহরণ: Complex JSON Object তৈরি
import org.json.JSONArray;
import org.json.JSONObject;
public class ComplexJSONObjectExample {
public static void main(String[] args) {
// Outer JSON অবজেক্ট তৈরি
JSONObject outerObject = new JSONObject();
// ব্যক্তির নাম এবং বয়স
outerObject.put("name", "John Doe");
outerObject.put("age", 30);
// ঠিকানা অবজেক্ট তৈরি (Nested JSON Object)
JSONObject address = new JSONObject();
address.put("street", "123 Main St");
address.put("city", "Anytown");
address.put("zipcode", "12345");
// ঠিকানা অবজেক্ট যোগ করা outerObject তে
outerObject.put("address", address);
// ফোন নম্বরের অ্যারে তৈরি
JSONArray phoneNumbers = new JSONArray();
phoneNumbers.put("123-4567");
phoneNumbers.put("987-6543");
// ফোন নম্বর অ্যারে যোগ করা outerObject তে
outerObject.put("phoneNumbers", phoneNumbers);
// শখের অ্যারে তৈরি
JSONArray hobbies = new JSONArray();
hobbies.put("Reading");
hobbies.put("Swimming");
hobbies.put("Cycling");
// শখ অ্যারে যোগ করা outerObject তে
outerObject.put("hobbies", hobbies);
// Inner JSON অবজেক্ট তৈরি: কর্মজীবন সম্পর্কিত তথ্য
JSONObject career = new JSONObject();
career.put("jobTitle", "Software Engineer");
career.put("company", "TechCorp");
career.put("yearsOfExperience", 8);
// কর্মজীবন অবজেক্ট যোগ করা outerObject তে
outerObject.put("career", career);
// JSON অবজেক্ট প্রিন্ট করা
System.out.println(outerObject.toString(4)); // Indentation for better readability
}
}
কোড ব্যাখ্যা
- Outer JSON অবজেক্ট: প্রথমে
outerObjectনামে একটি JSON অবজেক্ট তৈরি করা হয়েছে, যেখানে ব্যক্তির তথ্য যেমন নাম, বয়স, ঠিকানা, ফোন নম্বর, শখ এবং কর্মজীবন সম্পর্কিত তথ্য রাখা হবে। - Nested Objects:
addressএবংcareerনামক JSON অবজেক্ট দুটি তৈরি করা হয়েছে এবং এগুলিouterObjectএর মধ্যে অন্তর্ভুক্ত করা হয়েছে। - JSONArray: ফোন নম্বর এবং শখের তথ্য দুটি অ্যারে (JSONArray) হিসাবে তৈরি করা হয়েছে এবং সেগুলিও
outerObjectতে রাখা হয়েছে। - toString(4): JSON অবজেক্টটি প্রিন্ট করার সময়
toString(4)মেথড ব্যবহার করা হয়েছে যাতে এটি ৪ স্পেস ইনডেন্টেশনে সুন্দরভাবে দেখায়।
আউটপুট
{
"name": "John Doe",
"age": 30,
"address": {
"street": "123 Main St",
"city": "Anytown",
"zipcode": "12345"
},
"phoneNumbers": [
"123-4567",
"987-6543"
],
"hobbies": [
"Reading",
"Swimming",
"Cycling"
],
"career": {
"jobTitle": "Software Engineer",
"company": "TechCorp",
"yearsOfExperience": 8
}
}
JSON অবজেক্টের উপাদান বিশ্লেষণ
- Personal Information: নাম এবং বয়স একটি সরল key-value পেয়ার হিসেবে
outerObjectতে রাখা হয়েছে। - Nested JSON Object (Address & Career):
addressএবংcareerনামক দুটি JSON অবজেক্ট তৈরি করা হয়েছে যা আরো বিস্তারিত তথ্য ধারণ করছে এবং এই অবজেক্টগুলোouterObjectএর অংশ। - JSONArray (Phone Numbers & Hobbies): ফোন নম্বর এবং শখের তালিকা দুটি JSON অ্যারে হিসাবে তৈরি করা হয়েছে। অ্যারে মধ্যে একাধিক স্ট্রিং ভ্যালু রয়েছে।
আরও জটিল JSON Object তৈরি
আপনি চাইলে আরও জটিল স্ট্রাকচারও তৈরি করতে পারেন, যেমন:
- একাধিক স্তরের (nested) অবজেক্ট, যেমন একটি অবজেক্টের মধ্যে আরও অবজেক্ট এবং অ্যারে থাকতে পারে।
- টাইপ নির্ভর করে ভ্যালু সংযুক্ত করা, যেমন স্ট্রিং, নাম্বার, বুলিয়ান, অ্যারে বা অবজেক্ট।
উদাহরণ: আরও জটিল JSON Object
import org.json.JSONArray;
import org.json.JSONObject;
public class AdvancedComplexJSONObjectExample {
public static void main(String[] args) {
// Outer JSON Object
JSONObject outerObject = new JSONObject();
outerObject.put("name", "Jane Doe");
// Orders JSON Array (Nested Objects)
JSONArray orders = new JSONArray();
JSONObject order1 = new JSONObject();
order1.put("orderID", "ORD12345");
order1.put("amount", 250.75);
// Items in order1 (JSONArray)
JSONArray items1 = new JSONArray();
items1.put("Laptop");
items1.put("Mouse");
order1.put("items", items1);
orders.put(order1);
// Second Order
JSONObject order2 = new JSONObject();
order2.put("orderID", "ORD12346");
order2.put("amount", 150.50);
// Items in order2 (JSONArray)
JSONArray items2 = new JSONArray();
items2.put("Smartphone");
items2.put("Charger");
order2.put("items", items2);
orders.put(order2);
// Adding Orders Array to Outer Object
outerObject.put("orders", orders);
// Print the Complex JSON Object
System.out.println(outerObject.toString(4)); // Indentation for readability
}
}
আউটপুট
{
"name": "Jane Doe",
"orders": [
{
"orderID": "ORD12345",
"amount": 250.75,
"items": [
"Laptop",
"Mouse"
]
},
{
"orderID": "ORD12346",
"amount": 150.5,
"items": [
"Smartphone",
"Charger"
]
}
]
}
সারাংশ
org.json লাইব্রেরির মাধ্যমে আপনি সহজেই একটি complex JSON object তৈরি করতে পারেন, যা nested JSON objects এবং arrays ধারণ করতে পারে। এই পদ্ধতিটি JSON ডাটা স্ট্রাকচারকে আরও জটিল এবং উচ্চমানের করে তোলে, যেখানে বিভিন্ন ধরণের তথ্য একত্রে সংরক্ষণ করা যায়। JSON অবজেক্ট এবং অ্যারে ম্যানিপুলেট করার জন্য put(), get(), getJSONArray(), getJSONObject() ইত্যাদি মেথড ব্যবহার করে আপনি প্রয়োজনীয় ডাটা তৈরি, এক্সট্র্যাক্ট বা ম্যানিপুলেট করতে পারেন।