@JsonValue एनोटेशन विधि स्तर पर उपयोगी है। जावा ऑब्जेक्ट से JSON स्ट्रिंग जेनरेट करने के लिए हम इस एनोटेशन का उपयोग कर सकते हैं। यदि हम एक क्रमबद्ध वस्तु को प्रिंट करना चाहते हैं तो toString() . को ओवरराइड करें तरीका। लेकिन @JsonValue एनोटेशन का उपयोग कर रहे हैं , हम एक तरीका परिभाषित कर सकते हैं जिसमें जावा ऑब्जेक्ट को क्रमबद्ध किया जाता है।
सिंटैक्स
@Target(value={ANNOTATION_TYPE,METHOD,FIELD})@Retention(value=RUNTIME)public @interface JsonValue उदाहरण
आयात करें io.IOException; पब्लिक क्लास JsonValueAnnotationTest {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) अपवाद फेंकता है {ऑब्जेक्टमैपर मैपर =नया ऑब्जेक्टमैपर (); स्ट्रिंग jsonString =मैपर।writeValueAsString (नया विद्यार्थी()); System.out.println (jsonString); }}// छात्र वर्ग कक्षा छात्र { @JsonProperty निजी इंट छात्र आईडी =115; @JsonProperty निजी स्ट्रिंग छात्रनाम ="साई आदित्य"; @JsonValue सार्वजनिक स्ट्रिंग toJson () {इसे लौटाएं। छात्रनाम + "," + यह। छात्र आईडी + "," + यह। टूस्ट्रिंग (); } @ओवरराइड सार्वजनिक स्ट्रिंग टूस्ट्रिंग () {वापसी "छात्र [" + "छात्र आईडी =" + छात्र आईडी + ", छात्र नाम =" + छात्रनाम + ']'; }}आउटपुट
"साई आदित्य,115,छात्र[studentId =115, छात्रनाम =साई आदित्य]"