@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" :" रमेश" }}