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

JsonConfig ব্যবহার করে কিছু প্রপার্টি বাদ দিয়ে বিন থেকে JSON অবজেক্ট কনভার্ট

JsonConfig ক্লাস সিরিয়ালাইজেশন প্রক্রিয়া কনফিগার করতে সাহায্যকারী ইউটিলিটি ক্লাস। JsonConfig-এর setExcludes() মেথড ব্যবহার করে কিছু প্রপার্টি এক্সক্লুড করে বিনকে JSON অবজেক্টে কনভার্ট করা যায় এবং এই JSON কনফিগ ইনস্ট্যান্স কে JSONObject-এর স্ট্যাটিক fromObject() মেথডের আর্গুমেন্ট হিসেবে পাস করা হয়।

সিনট্যাক্স

public void setExcludes(String[] excludes)

উদাহরণ

import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;

public class BeanToJsonExcludeTest {
    public static void main(String[] args) {
        Student student = new Student("Raja", "Ramesh", 35, "Madhapur");
        JsonConfig jsonConfig = new JsonConfig();
        jsonConfig.setExcludes(new String[]{"age", "address"});
        JSONObject obj = JSONObject.fromObject(student, jsonConfig);
        System.out.println(obj.toString(3)); // প্রিটি প্রিন্ট JSON
    }
    
    public static class Student {
        private String firstName, lastName, address;
        private int age;
        
        public Student(String firstName, String lastName, int age, String address) {
            super();
            this.firstName = firstName;
            this.lastName = lastName;
            this.age = age;
            this.address = address;
        }
        
        public String getFirstName() { return firstName; }
        public String getLastName() { return lastName; }
        public int getAge() { return age; }
        public String getAddress() { return address; }
    }
}

আউটপুট

{
  "firstName": "Raja",
  "lastName": "Ramesh"
}

ব্যাখ্যা

আউটপুটে age এবং address প্রপার্টি এক্সক্লুড হয়েছে, শুধু firstName এবং lastName রয়েছে।

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

// স্ট্যাটিক: @JsonIgnoreProperties
@JsonIgnoreProperties({"age", "address"})
class Student { ... }

// ডাইনামিক: JsonFilter বা 뷰
ObjectMapper mapper = new ObjectMapper();
SimpleBeanPropertyFilter filter = SimpleBeanPropertyFilter.serializeAllExcept("age", "address");
FilterProvider filters = new SimpleFilterProvider().addFilter("studentFilter", filter);
mapper.writer(filters).writeValueAsString(student);

নোট

setExcludes()-এ প্রপার্টি নাম (গেটার থেকে ডিডাক্টেড) ব্যবহার করতে হয়, ফিল্ড নাম নয়। যেমন: getAge() → "age", getFirstName() → "firstName"।

  1. জাভাতে Gson লাইব্রেরি ব্যবহার করে JSON অবজেক্ট কে জাভা অবজেক্টে রূপান্তর করুন

  2. জাভাতে ম্যাপ কে JSON অবজেক্টে রূপান্তর করুন

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

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