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

जावा में जैक्सन का उपयोग कर @JsonIdentityInfo एनोटेशन का महत्व?

@JsonIdentityInfo एनोटेशन का उपयोग तब किया जाता है जब किसी ऑब्जेक्ट में अभिभावक-बच्चा . होता है जैक्सन पुस्तकालय में संबंध। @JsonIdentityInfo एनोटेशन क्रमांकन और अक्रमांकन प्रक्रिया के दौरान वस्तु की पहचान को इंगित करने के लिए उपयोग किया जाता है। ObjectIdGenerators.PropertyGenerator एक ऐसे मामले को इंगित करने के लिए एक अमूर्त स्थान-धारक वर्ग है जहां ऑब्जेक्ट पहचानकर्ता का उपयोग पीओजेओ संपत्ति से आता है।

सिंटैक्स

@Target(value={ANNOTATION_TYPE,TYPE,FIELD,METHOD,PARAMETER})@Retention(value=RUNTIME)public @interface JsonIdentityInfo

उदाहरण

आयात करें सार्वजनिक वर्ग JsonIdentityInfoTest {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] तर्क) IOException फेंकता है {ऑब्जेक्टमैपर मैपर =नया ऑब्जेक्टमैपर (); उपयोगकर्ता उपयोगकर्ता =नया उपयोगकर्ता (115, "राजा", "रमेश"); पता पता =नया पता (125, "माधापुर", "हैदराबाद", उपयोगकर्ता); user.addAddress (पता); स्ट्रिंग jsonString =mapper.writerWithDefaultPrettyPrinter ()। writeValueAsString (पता); System.out.println (jsonString); }}// उपयोगकर्ता वर्ग@JsonIdentityInfo(जनरेटर =ObjectIdGenerators.PropertyGenerator.class, संपत्ति ="userId")वर्ग उपयोगकर्ता { निजी int userId; निजी स्ट्रिंग प्रथम नाम; निजी स्ट्रिंग अंतिम नाम; निजी सूची <पता> पते; सार्वजनिक उपयोगकर्ता (int userId, String firstName, String lastName) {this.userId =userId; यह। पहला नाम =पहला नाम; यह अंतिम नाम =अंतिम नाम; this.addresses =नया ArrayList<पता>(); } सार्वजनिक int getUserId () {वापसी userId; } सार्वजनिक स्ट्रिंग getFirstName () { पहला नाम लौटाएं; } सार्वजनिक स्ट्रिंग getLastName () {वापसी अंतिम नाम; } सार्वजनिक शून्य ऐडएड्रेस (पता पता) {पते.जोड़ें (पता); }}// पता वर्ग@JsonIdentityInfo(जनरेटर =ObjectIdGenerators.PropertyGenerator.class, संपत्ति ="userId") कक्षा का पता {निजी int userId; निजी स्ट्रिंग शहर; निजी स्ट्रिंग स्ट्रीट; निजी उपयोगकर्ता उपयोगकर्ता; सार्वजनिक पता (इंट यूजर आईडी, स्ट्रिंग स्ट्रीट, स्ट्रिंग सिटी, यूजर यूजर) {this.userId =userId; यह.सड़क =गली; यह शहर =शहर; यह। उपयोगकर्ता =उपयोगकर्ता; } सार्वजनिक int getUserId () {वापसी userId; } सार्वजनिक स्ट्रिंग getStreet () {वापसी सड़क; } सार्वजनिक स्ट्रिंग getCity () {वापसी शहर; } सार्वजनिक उपयोगकर्ता getUser() { वापसी उपयोगकर्ता; }}

आउटपुट

{ "userId" :125, "city" :"Hyderabad", "street" :"Madhapur", "user" :{ "userId" :115, "firstName":"Raja", "lastName" :" रमेश" }}

  1. जावा में जैक्सन लाइब्रेरी का उपयोग करके XML को POJO में बदलें?

    JSON जैक्सन जावा के लिए एक पुस्तकालय है। इसमें बहुत शक्तिशाली डेटा बाइंडिंग क्षमताएं हैं और जेएसओएन को कस्टम जावा ऑब्जेक्ट्स को क्रमबद्ध करने और जेएसओएन को जावा ऑब्जेक्ट पर वापस करने के लिए एक ढांचा प्रदान करता है। हम XML फॉर्मेट को POJO ऑब्जेक्ट में कनवर्ट भी कर सकते हैं readValue() . का उपयोग करके

  1. जावा में जैक्सन पुस्तकालय का उपयोग कर सुंदर प्रिंट JSON?

    एक जैक्सन API एक जावा आधारित पुस्तकालय है और यह जावा ऑब्जेक्ट को JSON और JSON को जावा ऑब्जेक्ट में बदलने के लिए उपयोगी हो सकता है। जैक्सन एपीआई अन्य एपीआई की तुलना में तेज है, कम मेमोरी क्षेत्र की आवश्यकता है और बड़ी वस्तुओं के लिए अच्छा है। हम स्ट्रीमिंग API, ट्री मॉडल, . का उपयोग करके JSON को तीन

  1. जावा में @Override एनोटेशन का महत्व?

    The @Override एनोटेशन एक डिफ़ॉल्ट जावा एनोटेशन में से एक है और इसे जावा 1.5 . में पेश किया जा सकता है संस्करण। @ओवरराइड एनोटेशन इंगित करता है कि चाइल्ड क्लास मेथड अपनी बेस क्लास मेथड को ओवरराइट कर रहा है । द @ओवरराइड एनोटेशन दो कारणों से उपयोगी हो सकता है यदि एनोटेट विधि वास्तव में कुछ भी ओवरराइड