@JsonAutoDetect एनोटेशन दृश्यता . को ओवरराइड करने के लिए कक्षा स्तर पर उपयोग किया जा सकता है क्रमबद्धता . के दौरान किसी वर्ग के गुणों का और अक्रमांकन . हम "creatorVisibility . जैसे गुणों के साथ दृश्यता सेट कर सकते हैं ", "फ़ील्ड दृश्यता ", "गेट्टर विजिबिलिटी ", "सेटर दृश्यता " और "isGetterVisibility ". JsonAutoDetect वर्ग सार्वजनिक स्थिर स्थिरांक परिभाषित कर सकता है जो जावा वर्ग . के समान हैं दृश्यता स्तर जैसे "कोई भी", "DEFAULT", "NON_PRIVATE", "NONE", "PROTECTED_AND_PRIVATE" और "PUBLIC_ONLY ".
उदाहरण
आयात करें पता =नया पता ("माधापुर", "हैदराबाद", "तेलंगाना"); नाम का नाम =नया नाम ("राजा", "रमेश"); विद्यार्थी विद्यार्थी =नया विद्यार्थी (पता, नाम, सत्य); ऑब्जेक्टमैपर मैपर =नया ऑब्जेक्टमैपर (); स्ट्रिंग jsonString =mapper.writerWithDefaultPrettyPrinter ()। writeValueAsString (छात्र); System.out.println ("JSON:" + jsonString); }}// पता क्लासक्लास पता {निजी स्ट्रिंग फर्स्टलाइन; निजी स्ट्रिंग सेकेंडलाइन; निजी स्ट्रिंग थर्डलाइन; सार्वजनिक पता (स्ट्रिंग फर्स्टलाइन, स्ट्रिंग सेकेंडलाइन, स्ट्रिंग थर्डलाइन) { यह। फर्स्टलाइन =फर्स्टलाइन; this.secondLine =secondLine; यह।तीसरी रेखा =तीसरी रेखा; } पब्लिक स्ट्रिंग getFirstLine () {रिटर्न फर्स्टलाइन; } सार्वजनिक स्ट्रिंग getSecondLine () {रिटर्न सेकेंडलाइन; } सार्वजनिक स्ट्रिंग getThirdLine () {तीसरी पंक्ति लौटाएं; }}// नाम क्लासक्लास नाम {निजी स्ट्रिंग फर्स्टनाम; निजी स्ट्रिंग दूसरा नाम; सार्वजनिक नाम (स्ट्रिंग पहला नाम, स्ट्रिंग दूसरा नाम) { यह पहला नाम =पहला नाम; यह। दूसरा नाम =दूसरा नाम; } सार्वजनिक स्ट्रिंग getFirstName () { पहला नाम लौटाएं; } सार्वजनिक स्ट्रिंग getSecondName () {वापसी दूसरा नाम; }}// छात्र वर्ग@JsonAutoDetect(fieldVisibility =JsonAutoDetect.Visibility.ANY)वर्ग छात्र { निजी पता पता; निजी नाम का नाम; निजी बूलियन सक्रिय है; सार्वजनिक छात्र (पता पता, नाम का नाम, बूलियन सक्रिय है) { यह पता =पता; यह नाम =नाम; this.isActive =isActive; }}आउटपुट
{ "पता" :{ "पहली पंक्ति" :"माधापुर", "दूसरी पंक्ति" :"हैदराबाद", "तीसरी पंक्ति" :"तेलंगाना" }, "नाम" :{ "पहला नाम" :"राजा", "दूसरा नाम" :"रमेश" }, "isActive" :true}