Nested JSON Object এবং JSON Array হ্যান্ডল করা

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

263

JSON.simple লাইব্রেরি ব্যবহার করে আপনি সহজে Nested JSON Object এবং JSON Array হ্যান্ডল করতে পারেন। Nested JSON Object হল একটি JSON অবজেক্ট যা অন্য JSON অবজেক্ট ধারণ করে, এবং JSON Array হল এমন একটি ডেটা স্ট্রাকচার যা একাধিক মান ধারণ করে (যেমন স্ট্রিং, সংখ্যা, অবজেক্ট, ইত্যাদি)।

এখানে আমরা Nested JSON Object এবং JSON Array হ্যান্ডল করার কিছু উদাহরণ দেখব।


1. Nested JSON Object এবং JSON Array তৈরি করা

ধরা যাক, আমাদের একটি Person অবজেক্ট আছে, যার মধ্যে একটি Address অবজেক্ট (Nested Object) এবং একটি Phone Numbers অ্যারে (JSON Array) রয়েছে। নিচে একটি JSON স্ট্রিং দেওয়া হলো যেটি এই কাঠামোটি অনুসরণ করে:

JSON স্ট্রিং (Nested Object এবং JSON Array)

{
  "name": "John Doe",
  "age": 30,
  "address": {
    "street": "123 Main St",
    "city": "New York",
    "zipcode": "10001"
  },
  "phoneNumbers": ["123-456-7890", "987-654-3210"]
}

এখানে, address একটি nested JSON object এবং phoneNumbers একটি JSON array


2. Nested JSON Object এবং JSON Array Parsing (Deserialization)

এখন, আমরা JSON.simple ব্যবহার করে উপরের JSON স্ট্রিংটি Java Object এ রূপান্তর (deserialize) করব এবং এর ভিতরের nested object এবং array গুলি অ্যাক্সেস করব।

Java কোড: Nested JSON Object এবং JSON Array Parsing

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

public class JsonDeserializationExample {
    public static void main(String[] args) {
        // JSON স্ট্রিং (Nested Object এবং JSON Array সহ)
        String jsonString = "{"
                + "\"name\":\"John Doe\","
                + "\"age\":30,"
                + "\"address\":{"
                + "\"street\":\"123 Main St\","
                + "\"city\":\"New York\","
                + "\"zipcode\":\"10001\""
                + "},"
                + "\"phoneNumbers\":[\"123-456-7890\", \"987-654-3210\"]"
                + "}";

        // JSONParser ব্যবহার করে JSON স্ট্রিং পার্স করা
        JSONParser parser = new JSONParser();
        
        try {
            // JSON স্ট্রিং পার্স করে JSONObject তে রূপান্তর করা
            JSONObject jsonObject = (JSONObject) parser.parse(jsonString);

            // Nested JSON Object (address) থেকে মান বের করা
            JSONObject address = (JSONObject) jsonObject.get("address");
            String street = (String) address.get("street");
            String city = (String) address.get("city");
            String zipcode = (String) address.get("zipcode");

            // JSON Array (phoneNumbers) থেকে মান বের করা
            JSONArray phoneNumbers = (JSONArray) jsonObject.get("phoneNumbers");
            String phone1 = (String) phoneNumbers.get(0);
            String phone2 = (String) phoneNumbers.get(1);

            // JSON Object থেকে অন্য ফিল্ডগুলি বের করা
            String name = (String) jsonObject.get("name");
            long age = (long) jsonObject.get("age");

            // ফলাফল প্রিন্ট করা
            System.out.println("Name: " + name);
            System.out.println("Age: " + age);
            System.out.println("Address: " + street + ", " + city + ", " + zipcode);
            System.out.println("Phone Numbers: " + phone1 + ", " + phone2);

        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  1. JSONParser: JSON স্ট্রিংটিকে পার্স করতে JSONParser ব্যবহার করা হয়েছে।
  2. JSONObject: JSON অবজেক্টে ডেটা পার্স করার জন্য JSONObject ব্যবহার করা হয়েছে।
  3. JSONArray: JSON অ্যারে থেকে ডেটা বের করতে JSONArray ব্যবহার করা হয়েছে।
  4. Nested Object: address নামক অবজেক্টে থাকা ডেটা বের করতে আমরা get() মেথড ব্যবহার করেছি এবং তা একটি নতুন JSONObject এ কাস্ট করা হয়েছে।
  5. Array Access: phoneNumbers অ্যারে থেকে ফোন নম্বর বের করার জন্য অ্যারে get() মেথড ব্যবহার করা হয়েছে।

Output:

Name: John Doe
Age: 30
Address: 123 Main St, New York, 10001
Phone Numbers: 123-456-7890, 987-654-3210

3. Nested JSON Object এবং JSON Array তৈরি করা এবং JSON ফাইলে লেখা (Serialization)

এখন, আমরা দেখব কিভাবে Nested JSON Object এবং JSON Array তৈরি করা যায় এবং তা JSON ফাইলে লেখা যায়।

Java কোড: Nested JSON Object এবং JSON Array ফাইলে লেখা

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import java.io.FileWriter;
import java.io.IOException;

public class JsonSerializationExample {
    public static void main(String[] args) {
        // Nested JSON Object তৈরি করা
        JSONObject address = new JSONObject();
        address.put("street", "123 Main St");
        address.put("city", "New York");
        address.put("zipcode", "10001");

        // JSON Array তৈরি করা
        JSONArray phoneNumbers = new JSONArray();
        phoneNumbers.add("123-456-7890");
        phoneNumbers.add("987-654-3210");

        // Outer JSON Object তৈরি করা
        JSONObject person = new JSONObject();
        person.put("name", "John Doe");
        person.put("age", 30);
        person.put("address", address);  // Nested Object
        person.put("phoneNumbers", phoneNumbers);  // JSON Array

        // JSON Object ফাইলে লেখা
        try (FileWriter file = new FileWriter("person.json")) {
            file.write(person.toJSONString());
            System.out.println("Successfully written JSON object to file.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  1. Nested JSON Object: প্রথমে একটি address অবজেক্ট তৈরি করা হয়েছে, যা একটি নেস্টেড JSON অবজেক্ট।
  2. JSON Array: পরে একটি phoneNumbers অ্যারে তৈরি করা হয়েছে এবং এতে ফোন নম্বর যোগ করা হয়েছে।
  3. Outer JSON Object: সবকিছু একটি person নামক প্রধান JSON অবজেক্টে যোগ করা হয়েছে।
  4. FileWriter: সবশেষে, person অবজেক্টটি person.json ফাইলে লেখা হয়েছে।

Output File (person.json):

{
    "name": "John Doe",
    "age": 30,
    "address": {
        "street": "123 Main St",
        "city": "New York",
        "zipcode": "10001"
    },
    "phoneNumbers": ["123-456-7890", "987-654-3210"]
}

  • Nested JSON Object এবং JSON Array এর মাধ্যমে আপনি জটিল ডেটা স্ট্রাকচার তৈরি করতে পারেন এবং JSON.simple লাইব্রেরি ব্যবহার করে সহজে JSON ডেটা পড়া এবং লেখা করতে পারেন।
  • JSONObject এবং JSONArray ব্যবহার করে আপনি JSON অবজেক্টের ভিতরে অন্য অবজেক্ট এবং অ্যারে রাখতে পারবেন, এবং সহজে সেই ডেটা পার্স বা সিরিয়ালাইজ করতে পারবেন।
  • এই লাইব্রেরি JSON ডেটা ম্যানিপুলেশন এবং ফাইল পরিচালনার জন্য একটি সহজ এবং কার্যকরী উপায় সরবরাহ করে।

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

Content added By
Promotion

Are you sure to start over?

Loading...