JSONObject এর ভিতরে JSONArray এবং এর বিপরীত

JSON.simple এর মাধ্যমে Nested JSON হ্যান্ডলিং - জেসন.সিম্পল (Json.Simple) - Java Technologies

266

JSON.simple লাইব্রেরি ব্যবহার করে JSONObject এর ভিতরে JSONArray রাখা এবং এর বিপরীত প্রক্রিয়াটি খুবই সাধারণ। JSON এ JSONArray হলো একাধিক মান ধারণ করতে সক্ষম একটি অর্ডারড তালিকা এবং JSONObject হলো কী-মান পেয়ার ধারণকারী একটি অর্ডারড ডেটা স্ট্রাকচার।

এখানে আমরা দেখব কিভাবে JSONObject এর ভিতরে JSONArray রাখা যায় এবং কিভাবে JSONArray থেকে JSONObject তৈরি করা যায়।


1. JSONObject এর ভিতরে JSONArray রাখা

ধরা যাক, আমাদের একটি JSON অবজেক্টের মধ্যে JSONArray রাখতে হবে। এই ধরনের কাঠামোতে আপনি একটি JSON অবজেক্টের মধ্যে অনেকগুলো মান বা অবজেক্টের তালিকা রাখতে পারেন।

Example: JSON Object with JSON Array

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;

public class JsonExample {
    public static void main(String[] args) {
        // JSON Array তৈরি করা
        JSONArray jsonArray = new JSONArray();
        jsonArray.add("apple");
        jsonArray.add("banana");
        jsonArray.add("cherry");

        // JSON Object তৈরি করা
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("fruits", jsonArray);  // JSONArray যুক্ত করা

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

ব্যাখ্যা:

  • এখানে, প্রথমে একটি JSONArray তৈরি করা হয়েছে যাতে "apple", "banana", এবং "cherry" এর মতো স্ট্রিং মান যুক্ত করা হয়েছে।
  • তারপর, সেই JSONArray-কে একটি JSONObject-এ "fruits" নামক কী-এর মাধ্যমে যুক্ত করা হয়েছে।
  • toJSONString() মেথড ব্যবহার করে JSON অবজেক্টটি স্ট্রিং আকারে প্রিন্ট করা হয়েছে।

Output:

{"fruits":["apple","banana","cherry"]}

এখানে, JSONArray "fruits" কী-এর মান হিসেবে JSONObject এর ভিতরে রাখা হয়েছে।


2. JSONArray এর ভিতরে JSONObject রাখা

এখন, ধরা যাক, আমাদের একটি JSONArray-এর মধ্যে একাধিক JSONObject রাখতে হবে। এই প্রক্রিয়াটি সাধারণত একাধিক অবজেক্টের ডেটা একত্রিত করার জন্য ব্যবহার করা হয়।

Example: JSON Array with JSON Objects

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;

public class JsonArrayExample {
    public static void main(String[] args) {
        // JSON Objects তৈরি করা
        JSONObject person1 = new JSONObject();
        person1.put("name", "John");
        person1.put("age", 30);
        
        JSONObject person2 = new JSONObject();
        person2.put("name", "Jane");
        person2.put("age", 25);

        // JSON Array তৈরি করা
        JSONArray jsonArray = new JSONArray();
        jsonArray.add(person1);
        jsonArray.add(person2);

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

ব্যাখ্যা:

  • দুটি JSONObject তৈরি করা হয়েছে, যেখানে name এবং age কী-মান পেয়ার রয়েছে।
  • তারপর সেই দুটি JSONObject JSONArray এর মধ্যে যুক্ত করা হয়েছে।
  • toJSONString() মেথড ব্যবহার করে JSONArray কে স্ট্রিং আকারে প্রিন্ট করা হয়েছে।

Output:

[{"name":"John","age":30},{"name":"Jane","age":25}]

এখানে, দুটি JSONObject (যাদের মধ্যে name এবং age রয়েছে) একটি JSONArray এর মধ্যে রাখা হয়েছে।


3. JSONArray থেকে JSONObject বের করা

JSON থেকে JSONArray এবং JSONObject পার্স করার সময়, আপনি JSON অবজেক্টের ভেতরে থাকা JSONArray থেকে এক বা একাধিক JSONObject বের করতে পারেন।

Example: Extracting JSONObject from JSONArray

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class JsonExtractExample {
    public static void main(String[] args) {
        // JSON String যা JSONArray ধারণ করে
        String jsonString = "[{\"name\":\"John\",\"age\":30},{\"name\":\"Jane\",\"age\":25}]";

        // JSONParser ব্যবহার করে JSON Array পার্স করা
        JSONParser parser = new JSONParser();
        
        try {
            // JSONArray পার্স করা
            JSONArray jsonArray = (JSONArray) parser.parse(jsonString);

            // JSONArray থেকে JSONObject বের করা
            for (Object obj : jsonArray) {
                JSONObject jsonObject = (JSONObject) obj;
                String name = (String) jsonObject.get("name");
                long age = (long) jsonObject.get("age");  // JSON.simple returns Long, so need to convert it

                // মান প্রিন্ট করা
                System.out.println("Name: " + name + ", Age: " + age);
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • প্রথমে একটি JSON string তৈরি করা হয়েছে যা একটি JSONArray ধারণ করে, এবং এতে দুটি JSONObject রয়েছে।
  • JSONParser ব্যবহার করে JSON স্ট্রিংটি JSONArray-এ রূপান্তর করা হয়েছে।
  • তারপর, JSONArray থেকে প্রতিটি JSONObject বের করে তার মান পাওয়া হয়েছে এবং প্রিন্ট করা হয়েছে।

Output:

Name: John, Age: 30
Name: Jane, Age: 25

এখানে, JSONArray থেকে প্রতিটি JSONObject বের করে তার মান (name, age) নিয়ে প্রদর্শন করা হয়েছে।


4. Nested JSON Object এবং JSONArray

JSON অবজেক্টের মধ্যে একাধিক nested JSON objects এবং JSONArray থাকতে পারে। এর মাধ্যমে আরও জটিল ডেটা কাঠামো তৈরি করা সম্ভব।

Example: Nested JSON Object and JSONArray

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;

public class NestedJsonExample {
    public static void main(String[] args) {
        // Inner JSON Object (Address)
        JSONObject address = new JSONObject();
        address.put("street", "123 Main St");
        address.put("city", "New York");

        // JSON Array (Phone numbers)
        JSONArray phones = new JSONArray();
        JSONObject phone1 = new JSONObject();
        phone1.put("type", "home");
        phone1.put("number", "123-4567");

        JSONObject phone2 = new JSONObject();
        phone2.put("type", "mobile");
        phone2.put("number", "987-6543");

        phones.add(phone1);
        phones.add(phone2);

        // Outer JSON Object (Person)
        JSONObject person = new JSONObject();
        person.put("name", "John Doe");
        person.put("address", address);  // Nested Object
        person.put("phones", phones);    // Nested Array

        // JSON Object Print
        System.out.println(person.toJSONString());
    }
}

Output:

{
  "name": "John Doe",
  "address": {
    "street": "123 Main St",
    "city": "New York"
  },
  "phones": [
    {"type": "home", "number": "123-4567"},
    {"type": "mobile", "number": "987-6543"}
  ]
}

এখানে, একটি nested JSON object (address) এবং JSONArray (phones) JSONObject এর মধ্যে রাখা হয়েছে।


  • JSONArray এবং JSONObject JSON ডেটা স্ট্রাকচারের দুটি প্রধান উপাদান, যা JSON.simple লাইব্রেরি ব্যবহার করে Java অবজেক্টে রূপান্তরিত করা যায়।
  • আপনি JSONArray এবং JSONObject এর ভিতরে একে অপরকে রাখতে পারেন (nested structure) এবং JSON.simple এর মাধ্যমে তাদেরকে পার্স (parse) বা ম্যানিপুলেট (manipulate) করতে পারেন।
  • JSONObject এর ভিতরে JSONArray রাখা এবং JSONArray থেকে JSONObject বের করা খুব সহজ, এবং এতে complex JSON structures তৈরি এবং প্রসেস করা সম্ভব।

JSON.simple লাইব্রেরি আপনাকে JSON ডেটা ম্যানিপুলেশন এবং nested JSON অবজেক্টের সাথে কাজ করার জন্য একটি সহজ এবং কার্যকরী পদ্ধতি প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...