द @JsonFilter एनोटेशन एक कस्टम फ़िल्टर को परिभाषित करने के लिए उपयोग किया जाता है जावा ऑब्जेक्ट्स को क्रमबद्ध करने के लिए। हमें FilterProvider . का उपयोग करने की आवश्यकता है फ़िल्टर को परिभाषित करने और वास्तविक फ़िल्टर उदाहरण प्राप्त करने के लिए कक्षा। अब फ़िल्टर को FilterProvider . असाइन करके कॉन्फ़िगर किया गया है ऑब्जेक्टमैपर . के लिए कक्षा।
सिंटैक्स
@Target(value={ANNOTATION_TYPE,TYPE,METHOD,FIELD,PARAMETER})@Retention(value=RUNTIME)public @interface JsonFilter
नीचे दिए गए उदाहरण में, कस्टमफ़िल्टर @JsonFilter . के तर्क के रूप में घोषित किया जा सकता है एनोटेशन केवल नाम निकालता है और बीन के अन्य गुणों को फ़िल्टर करता है।
उदाहरण
आयात करें com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter आयात करें; ऑब्जेक्टमैपर (); FilterProvider filterProvider =new SimpleFilterProvider().addFilter("customFilter", SimpleBeanPropertyFilter.filterOutAllExcept("empName")); स्ट्रिंग jsonString =mapper.writer (filterProvider).writeValueAsString (नया फ़िल्टरबीन ()); System.out.println (jsonString); }}@JsonFilter("customFilter") क्लास फ़िल्टरबीन {सार्वजनिक int empId =110; सार्वजनिक स्ट्रिंग empName ="राजा रमेश"; सार्वजनिक स्ट्रिंग लिंग ="पुरुष";}आउटपुट
{"empName":"राजा रमेश"}