কম্পিউটার টিউটোরিয়াল

JSON-lib API দিয়ে Map থেকে JSON অবজেক্ট কনভার্ট

JSONObject হল নেম/ভ্যালু পেয়ারের অনর্ডার্ড কলেকশন, যেখানে Map হল কী-টু-ভ্যালু ম্যাপিংকারী অবজেক্ট। Map-এ ডুপ্লিকেট কী থাকতে পারে না এবং প্রতিটি কী højোচ্চ একটি ভ্যালুতে ম্যাপ করতে পারে। JSON ফরম্যাটে Map সিরিয়ালাইজ/ডিসিরিয়ালাইজ করার জন্য JSON-lib লাইব্রেরি প্রয়োজন। প্রথমে একটি POJO ক্লাস তৈরি করে Map ক্লাসের put() মেথডে আর্গুমেন্ট হিসেবে পাস করুন এবং অবশেষে এই ম্যাপ ইনস্ট্যান্সকে JSONObject-এর accumulateAll() মেথডে যোগ করুন।

সিনট্যাক্স

public void accumulateAll(Map map)

উদাহরণ

import java.util.*;
import net.sf.json.JSONObject;

public class ConvertMapToJSONObjectTest {
    public static void main(String[] args) throws Exception {
        JSONObject jsonObject = new JSONObject();
        Map<Integer, Employee> employees = new HashMap<>();
        employees.put(1, new Employee("Adithya", "Jai", 30));
        employees.put(2, new Employee("Vamsi", "Krishna", 28));
        employees.put(3, new Employee("Chaitanya", "Sai", 30));
        
        jsonObject.accumulateAll(employees);
        System.out.println(jsonObject.toString(3)); // প্রিটি প্রিন্ট JSON
    }
    
    public static class Employee {
        private String firstName, lastName;
        private int age;
        
        public Employee(String firstName, String lastName, int age) {
            super();
            this.firstName = firstName;
            this.lastName = lastName;
            this.age = age;
        }
        
        public String getFirstName() { return firstName; }
        public String getLastName() { return lastName; }
        public int getAge() { return age; }
    }
}

আউটপুট

{
  "1": { "firstName": "Adithya", "lastName": "Jai", "age": 30 },
  "2": { "firstName": "Vamsi", "lastName": "Krishna", "age": 28 },
  "3": { "firstName": "Chaitanya", "lastName": "Sai", "age": 30 }
}

ব্যাখ্যা

  • Map কী (Integer) JSON স্ট্রিং কী-এ কনভার্ট হয় ("1", "2", "3")
  • Map ভ্যালু (Employee অবজেক্ট) JSON অবজেক্ট-এ কনভার্ট হয়
  • accumulateAll() মেথড ম্যাপের সব এন্ট্রি JSONObject-এ 머্জ করে

আধুনিক বিকল্প (Jackson/Gson)

// Jackson
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(employees);

// Gson
Gson gson = new Gson();
String json = gson.toJson(employees);

// উভয়ই Map → {"1":{...}, "2":{...}} আউটপুট দেয়
  1. জাভাতে ম্যাপ কে JSON অবজেক্টে রূপান্তর করুন

  2. জাভাতে JSON স্ট্রিং কে JSON অবজেক্টে রূপান্তর করুন

  3. জাভা POJO কে JSON-এ কনভার্ট করা: Jackson এবং Gson ব্যবহার করে

  4. জাভা Map কে JSON-এ কনভার্ট করা: Jackson, Gson এবং org.json সহ ধাপে ধাপে গাইড