द JsonView टिप्पणी क्रमांकन और अक्रमांकन प्रक्रिया के दौरान गतिशील रूप से किसी संपत्ति को शामिल/बहिष्कृत करने के लिए उपयोग किया जा सकता है। हमें एक ऑब्जेक्टमैपर . को कॉन्फ़िगर करने की आवश्यकता है writerWithView() . का उपयोग करके Java ऑब्जेक्ट से JSON लिखने के लिए उपयोग किए जाने वाले दृश्य के प्रकार को शामिल करने के लिए वर्ग विधि।
सिंटैक्स
@Target(value={ANNOTATION_TYPE,METHOD,FIELD})@Retention(value=RUNTIME)public @interface JsonView
उदाहरण
आयात करें {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) JsonProcessingException फेंकता है {ऑब्जेक्टमैपर ऑब्जेक्टमैपर =नया ऑब्जेक्टमैपर (); स्ट्रिंग jsonString =objectMapper.writerWithView(Views.Public.class).writeValueAsString (नया व्यक्ति ()); स्ट्रिंग jsonStringInternal =objectMapper.writerWithView(Views.Internal.class).writeValueAsString (नया व्यक्ति ()); System.out.println (jsonString); System.out.println (jsonStringInternal); }}// व्यक्ति वर्गवर्ग व्यक्ति { @JsonView(Views.Public.class) सार्वजनिक लंबे व्यक्ति आईडी =115; @JsonView(Views.Public.class) सार्वजनिक स्ट्रिंग व्यक्तिनाम ="राजा रमेश"; @JsonView(Views.Internal.class) सार्वजनिक स्ट्रिंग लिंग ="पुरुष"; @ ओवरराइड सार्वजनिक स्ट्रिंग टूस्ट्रिंग() {वापसी "व्यक्ति {" + "व्यक्ति आईडी =" + व्यक्ति आईडी + ", व्यक्ति नाम ='" + व्यक्ति नाम + '\'' + ", लिंग ='" + लिंग + '\'' + ' }'; }}कक्षा दृश्य { स्थिर वर्ग सार्वजनिक {} स्थिर वर्ग आंतरिक सार्वजनिक विस्तार {}}आउटपुट
{"personId":115,"personName":"Raja Ramesh"}{"personId":115,"personName":"Raja Ramesh","लिंग":"male"}