@JSON অ্যানোটেশন JSONSerializer ক্লাস দ্বারা ব্যবহৃত হয় সিরিয়ালাইজেশন প্রক্রিয়ায় ফিল্ড ইনক্লুড বা এক্সক্লুড করতে। JSONSerializer ক্লাসের serialize() মেথড ব্যবহার করে টার্গেট ইনস্ট্যান্সের শ্যালো সিরিয়ালাইজেশন করা যায়।
সিনট্যাক্স
@Retention(value=RUNTIME)
@Target(value={FIELD,TYPE,METHOD})
public @interface JSON
উদাহরণ
import flexjson.JSONSerializer;
import flexjson.JSON;
public class JSONAnnotationTest {
public static void main(String[] args) {
JSONSerializer serializer = new JSONSerializer().prettyPrint(true);
Employee emp = new Employee("Raja", "Ramesh", 30, "Hyderabad");
String jsonStr = serializer.serialize(emp);
System.out.println(jsonStr);
}
}
// Employee class
class Employee {
private String firstName, lastName, address;
private int age;
public Employee(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; }
@JSON(include=false)
public String getLastName() { return lastName; }
public int getAge() { return age; }
@JSON(include=false)
public String getAddress() { return address; }
}
আউটপুট
{
"age": 30,
"class": "Employee",
"firstName": "Raja"
}
ব্যবহার ক্ষেত্র
- সেনসিটিভ ডেটা (পাসওয়ার্ড, টোকেন) JSON-এ নয়ে যাওয়ায়
- সার্কুলার রেফারেন্স এড়াতে
- অপ্রয়োজনীয় ফিল্ড বাদ দিয়ে পেলোড কমাতে
নোট
FlexJSON একটি পুরনো লাইব্রেরি। আধুনিক প্রজেক্টে Jackson বা Gson ব্যবহার করা বে