Complex Object Encode করার কৌশল

JSON Encoding (Java Object থেকে JSON এ রূপান্তর) - জেসন.সিম্পল (Json.Simple) - Java Technologies

278

JSON (JavaScript Object Notation) একটি কমপ্যাক্ট এবং পাঠযোগ্য ডেটা বিনিময় ফরম্যাট, যা Java সহ বিভিন্ন প্রোগ্রামিং ভাষায় ব্যবহৃত হয়। JSONObject এবং JSONArray ক্লাস ব্যবহার করে আপনি Java-তে complex objects (যেমন, nested objects বা nested arrays) JSON ফরম্যাটে এনকোড করতে পারেন। এই পদ্ধতিতে আপনি সাধারণভাবে Java objects বা collections কে JSON ফরম্যাটে রূপান্তর করতে পারবেন।

Json.Simple লাইব্রেরি ব্যবহার করে আপনি সহজেই complex objects যেমন nested objects, অ্যারে বা অন্যান্য জটিল ডেটা কাঠামো JSON ফরম্যাটে এনকোড করতে পারেন।


1. JSONObject এবং JSONArray Overview

  • JSONObject: এটি JSON Object তৈরি করতে ব্যবহৃত হয়, যা কী-মান (key-value) পেয়ার ধারণ করে।
  • JSONArray: এটি JSON Array তৈরি করতে ব্যবহৃত হয়, যা একাধিক মান ধারণ করতে পারে (যেমন স্ট্রিং, সংখ্যা, অবজেক্ট ইত্যাদি)।

2. Complex Object Encode করার কৌশল

এখানে Json.Simple লাইব্রেরি ব্যবহার করে Complex Object (যেমন, nested objects এবং arrays) এনকোড করার কৌশল দেখানো হচ্ছে।

Complex Object Encode করার উদাহরণ:

ধরা যাক, আপনি একটি person অবজেক্ট তৈরি করতে চান, যেখানে address (একটি nested object) এবং phoneNumbers (একটি JSONArray) রয়েছে।

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

public class ComplexObjectEncodeExample {
    public static void main(String[] args) {
        // JSON Object for address (nested object)
        JSONObject address = new JSONObject();
        address.put("street", "123 Main St");
        address.put("city", "New York");
        address.put("zip", "10001");

        // JSON Array for phone numbers
        JSONArray phoneNumbers = new JSONArray();
        phoneNumbers.add("123-456-7890");
        phoneNumbers.add("987-654-3210");

        // JSON Object for person (outer object)
        JSONObject person = new JSONObject();
        person.put("name", "John Doe");
        person.put("age", 30);
        person.put("isStudent", false);
        person.put("address", address);  // Nested JSON object
        person.put("phoneNumbers", phoneNumbers);  // JSON Array

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

আউটপুট:

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

ব্যাখ্যা:

  1. Nested JSON Object:
    • এখানে address একটি nested JSONObject যা পণ্যের ঠিকানা ধারণ করে (যেমন স্ট্রিট, সিটি এবং পিন কোড)।
  2. JSONArray:
    • phoneNumbers একটি JSONArray যা একাধিক ফোন নম্বর ধারণ করে। JSONArray এর মধ্যে আপনি String, Integer, বা JSONObject ব্যবহার করতে পারেন।
  3. Main JSON Object:
    • person মূল JSONObject যা নাম, বয়স, স্টুডেন্ট স্ট্যাটাস, অ্যাড্রেস (nested object), এবং ফোন নম্বর (array) ধারণ করে।

3. Complex Object Encode করার জন্য আরও উদাহরণ

Nested JSON Arrays with Objects:

ধরা যাক, আপনি একটি company অবজেক্ট তৈরি করতে চান যেখানে employees একটি JSONArray (অন্য JSONObjects এর একটি অ্যারে) থাকবে।

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

public class ComplexArrayObjectExample {
    public static void main(String[] args) {
        // Employee 1 JSON Object
        JSONObject employee1 = new JSONObject();
        employee1.put("name", "Alice");
        employee1.put("role", "Developer");

        // Employee 2 JSON Object
        JSONObject employee2 = new JSONObject();
        employee2.put("name", "Bob");
        employee2.put("role", "Manager");

        // Employee Array (JSONArray)
        JSONArray employees = new JSONArray();
        employees.add(employee1);
        employees.add(employee2);

        // Company JSON Object
        JSONObject company = new JSONObject();
        company.put("companyName", "Tech Innovations");
        company.put("employees", employees);

        // Print out the JSON Object (Complex Object with Arrays and Objects)
        System.out.println(company.toJSONString());
    }
}

আউটপুট:

{
  "companyName": "Tech Innovations",
  "employees": [
    {
      "name": "Alice",
      "role": "Developer"
    },
    {
      "name": "Bob",
      "role": "Manager"
    }
  ]
}

এখানে employees একটি JSONArray যার মধ্যে দুটি JSON Objects রয়েছে, প্রতিটি কর্মী সম্পর্কে তথ্য ধারণ করে।


4. JSON Object এবং JSONArray তে আরও কাস্টম ডেটা যুক্ত করা

আপনি JSON অবজেক্টের ভিতরে আরও কাস্টম ডেটা যুক্ত করতে পারেন যেমন Boolean, Integer, Double, Date ইত্যাদি।

import org.json.simple.JSONObject;
import java.util.Date;

public class CustomDataExample {
    public static void main(String[] args) {
        JSONObject person = new JSONObject();
        person.put("name", "John Doe");
        person.put("age", 30);
        person.put("isStudent", false);
        person.put("joinDate", new Date()); // Adding current date

        // Print the JSON Object with custom data
        System.out.println(person.toJSONString());
    }
}

এখানে, joinDate হিসাবে current Date JSON অবজেক্টে যোগ করা হয়েছে।

আউটপুট:

{
  "name": "John Doe",
  "age": 30,
  "isStudent": false,
  "joinDate": "Thu Dec 21 12:34:56 GMT 2024"
}

5. JSON Object এবং JSONArray থেকে ডেটা রিট্রিভ করা

আপনি get() মেথড ব্যবহার করে JSON অবজেক্ট থেকে ডেটা বের করতে পারেন।

import org.json.simple.JSONObject;

public class RetrieveDataExample {
    public static void main(String[] args) {
        // JSON Object তৈরি করা
        JSONObject person = new JSONObject();
        person.put("name", "John");
        person.put("age", 30);

        // JSON Object থেকে ডেটা বের করা
        String name = (String) person.get("name");
        int age = (int) person.get("age");

        // ডেটা প্রিন্ট করা
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
    }
}

আউটপুট:

Name: John
Age: 30

  • JSONObject এবং JSONArray এর মাধ্যমে আপনি complex objects তৈরি এবং এনকোড করতে পারেন JSON ফরম্যাটে।
  • JSON অবজেক্টে nested objects এবং arrays অন্তর্ভুক্ত করতে পারেন।
  • Json.Simple লাইব্রেরি ব্যবহার করে আপনি সহজেই Java-এ JSON ডেটা তৈরি, প্যার্স এবং ম্যানিপুলেট করতে পারবেন।
  • JSON ডেটা সংগ্রহের জন্য key-value পেয়ার এবং arrays খুবই কার্যকরী এবং এটি বিভিন্ন ওয়েব সার্ভিস ও অ্যাপ্লিকেশনগুলিতে ডেটা বিনিময়ের জন্য ব্যবহৃত হয়।
Content added By
Promotion

Are you sure to start over?

Loading...