The @JsonAlias एनोटेशन एक या अधिक वैकल्पिक नामों को परिभाषित कर सकता है अक्रमांकन के दौरान स्वीकार की गई विशेषताओं के लिए, JSON डेटा को जावा ऑब्जेक्ट पर सेट करना। लेकिन क्रमबद्ध करते समय, यानी जावा ऑब्जेक्ट से JSON प्राप्त करना, उपनाम के बजाय केवल वास्तविक तार्किक गुण नाम का उपयोग किया जाता है ।
सिंटैक्स
@Target(value={ANNOTATION_TYPE,FIELD,METHOD,PARAMETER})@Retention(value=RUNTIME)public @interface JsonAlias
उदाहरण
आयात करें मुख्य (स्ट्रिंग [] args) JsonProcessingException फेंकता है {ऑब्जेक्टमैपर मैपर =नया ऑब्जेक्टमैपर (); प्रौद्योगिकी तकनीक =नई तकनीक ("जावा", "ओरेकल"); कर्मचारी एम्प =नया कर्मचारी (110, "राजा", टेक); स्ट्रिंग jsonWriter =मैपर। System.out.println (jsonWriter); }}// प्रौद्योगिकी वर्ग क्लास टेक्नोलॉजी { @JsonProperty("skill") निजी स्ट्रिंग कौशल; @JsonProperty("subSkill") @JsonAlias({"sSkill", "mySubSkill"}) निजी स्ट्रिंग सबस्किल; सार्वजनिक प्रौद्योगिकी () {} सार्वजनिक प्रौद्योगिकी (स्ट्रिंग कौशल, स्ट्रिंग उप कौशल) { यह कौशल =कौशल; यह। सबस्किल =सबस्किल; } सार्वजनिक स्ट्रिंग getSkill () {वापसी कौशल; } सार्वजनिक शून्य सेटस्किल (स्ट्रिंग कौशल) { यह कौशल =कौशल; } सार्वजनिक स्ट्रिंग getSubSkill () {वापसी उप कौशल; } सार्वजनिक शून्य सेटसुबस्किल (स्ट्रिंग सबस्किल) { यह सबस्किल =सबस्किल; }}// कर्मचारी वर्ग वर्ग कर्मचारी { @JsonProperty("empId") निजी पूर्णांक आईडी; @JsonProperty("empName") @JsonAlias({"ename", "myename"}) निजी स्ट्रिंग नाम; @JsonProperty("empTechnology") निजी प्रौद्योगिकी तकनीक; सार्वजनिक कर्मचारी () {} सार्वजनिक कर्मचारी (पूर्णांक आईडी, स्ट्रिंग नाम, प्रौद्योगिकी तकनीक) {this.id =id; यह नाम =नाम; यह.टेक =तकनीक; } सार्वजनिक पूर्णांक getId () {वापसी आईडी; } public void setId(Integer id) {this.id =id; } सार्वजनिक स्ट्रिंग getName () {वापसी का नाम; } सार्वजनिक शून्य सेटनाम (स्ट्रिंग नाम) { यह नाम =नाम; } सार्वजनिक प्रौद्योगिकी getTechnology() { वापसी तकनीक; } सार्वजनिक शून्य सेटटेक्नोलॉजी (प्रौद्योगिकी तकनीक) {this.tech =तकनीक; }}आउटपुट
{ "प्रौद्योगिकी" :{ "कौशल" :"जावा", "उप कौशल" :"Oracle" }, "empId" :110, "empName" :"राजा", "empTechnology" :{ "कौशल " :"Java", "subSkill" :"Oracle" }}