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"।