Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में जैक्सन का उपयोग करके किसी क्षेत्र में वैकल्पिक नाम कैसे परिभाषित करें?


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" }} 

  1. जावा में @Expose एनोटेशन का उपयोग करके JSON से किसी फ़ील्ड को कैसे बाहर निकालें?

    Gson @Expose एनोटेशन धारावाहिक या deserialized के लिए एक क्षेत्र को उजागर करने के लिए या नहीं (शामिल है या नहीं) को चिह्नित करने के लिए इस्तेमाल किया जा सकता है। @एक्सपोज़ एनोटेशन दो पैरामीटर ले सकते हैं और प्रत्येक पैरामीटर एक बूलियन है जो या तो मान ले सकता है सत्य या झूठा . GSON को @Expose एनोटेश

  1. जावा में जैक्सन का उपयोग करके हम JSON में फ़ील्ड नाम कैसे बदल सकते हैं?

    द जैक्सन एनोटेशन @JsonProperty क्रमबद्धता . के दौरान किसी संपत्ति या विधि पर उपयोग किया जाता है या अक्रमांकन JSON . का . यह एक वैकल्पिक नाम . लेता है पैरामीटर जो संपत्ति का नाम कुंजी . से भिन्न होने की स्थिति में उपयोगी है नाम JSON . में . डिफ़ॉल्ट रूप से, अगर कुंजी का नाम प्रॉपर्टी के नाम से

  1. जावा में जीसन लाइब्रेरी का उपयोग करके एक शून्य क्षेत्र को क्रमबद्ध कैसे करें?

    डिफ़ॉल्ट रूप से, Gson ऑब्जेक्ट शून्य मान के साथ फ़ील्ड को क्रमानुसार नहीं करता है JSON को। यदि जावा ऑब्जेक्ट में कोई फ़ील्ड शून्य है, तो Gson इसे बाहर कर देता है। हम जीसन को शून्य मानों को क्रमबद्ध करने के लिए बाध्य कर सकते हैं GsonBuilder . के माध्यम से कक्षा। हमें serializeNulls() . को कॉल करने