द जैक्सन जावा के लिए एक पुस्तकालय है और इसमें बहुत शक्तिशाली डेटा बाइंडिंग क्षमताएं हैं और यह JSON के लिए कस्टम जावा ऑब्जेक्ट्स को क्रमबद्ध करने के लिए एक ढांचा प्रदान करता है। और JSON को वापस Java ऑब्जेक्ट में अक्रमांकन करें . जैक्सन लाइब्रेरी @JsonInclude एनोटेशन . प्रदान करती है जो क्रमांकन के दौरान उनके मूल्यों के आधार पर एक वर्ग के संपूर्ण या उसके व्यक्तिगत क्षेत्रों के क्रमांकन को नियंत्रित करता है।
@JsonInclude एनोटेशन नीचे दो मान शामिल हैं
- शामिल करें.NON_NULL :इंगित करता है कि केवल शून्य मान वाले गुण ही JSON में शामिल किए जाएंगे।
- शामिल करें.NON_EMPTY :इंगित करता है कि केवल वे गुण जो खाली नहीं हैं उन्हें JSON में शामिल किया जाएगा
उदाहरण
आयात करें। वर्ग IgnoreNullAndEmptyFieldTest {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) JsonProcessingException फेंकता है {ऑब्जेक्टमैपर मैपर =नया ऑब्जेक्टमैपर (); mapper.enable(SerializationFeature.INDENT_OUTPUT); कर्मचारी कर्मचारी =नया कर्मचारी (115, शून्य, ""); // शून्य और खाली फ़ील्ड पास करना स्ट्रिंग परिणाम =mapper.writeValueAsString (कर्मचारी); System.out.println (परिणाम); }}// कर्मचारी वर्गवर्ग कर्मचारी { निजी इंट आईडी; @JsonInclude(Include.NON_NULL) निजी स्ट्रिंग प्रथम नाम; @JsonInclude(Include.NON_EMPTY) निजी स्ट्रिंग अंतिम नाम; सार्वजनिक कर्मचारी (इंट आईडी, स्ट्रिंग फर्स्टनाम, स्ट्रिंग लास्टनाम) {सुपर (); this.id =आईडी; यह। पहला नाम =पहला नाम; यह अंतिम नाम =अंतिम नाम; } सार्वजनिक int getId () {रिटर्न आईडी; } सार्वजनिक शून्य setId (int id) {this.id =id; } सार्वजनिक स्ट्रिंग getFirstName () { पहला नाम लौटाएं; } सार्वजनिक शून्य सेटफर्स्टनाम (स्ट्रिंग फर्स्टनाम) {this.firstName =firstName; } सार्वजनिक स्ट्रिंग getLastName () {वापसी अंतिम नाम; } सार्वजनिक शून्य सेटलास्टनाम (स्ट्रिंग अंतिम नाम) { यह अंतिम नाम =अंतिम नाम; }}आउटपुट
{ "id" :115}