डिफ़ॉल्ट जैकन व्यवहार दोनों गुणों (गेटर्स और सेटर्स) और फ़ील्ड को जेसन के क्रमबद्ध और deserialize करने के लिए प्रतीत होता है।केवल जैकसन को फ़ील्ड का उपयोग करने के लिए निर्दिष्ट करने के लिए - अधिमानतः वैश्विक रूप से
मैं फ़ील्ड का उपयोग धारावाहिक विन्यास के कैनोलिक स्रोत के रूप में करना चाहता हूं और इस प्रकार जैक्सन को गुणों को देखने की इच्छा नहीं है।
मैं टिप्पणी के साथ एक व्यक्ति वर्ग के आधार पर कर सकते हैं:
@JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
लेकिन मैं हर एक वर्ग पर डाल करने के लिए नहीं चाहता ...
यह संभव करने के लिए है इसे वैश्विक रूप से कॉन्फ़िगर करें? ऑब्जेक्ट मैपर में कुछ जोड़ने की तरह?
टिम ने एक अच्छा जवाब दिया। एक और संभावना यह है कि यदि आपके पास एक सामान्य आधार वर्ग है, तो आप कक्षा में एनोटेशन डाल सकते हैं; जैक्सन द्वारा टिप्पणियां विरासत में मिली हैं। – StaxMan
मुझे लगता है कि मैंने कोशिश की, लेकिन ऐसा लगता है कि आपको बेस क्लास परिभाषित करने के लिए उप वर्गों को बताना होगा ... –
नहीं, जब तक उप-वर्ग कक्षा एनोटेशन ओवरराइड नहीं करता है, माता-पिता की टिप्पणियां दिखाई देती हैं जैसे कि वे उप- कक्षा परिभाषा (यदि नहीं, तो यह एक बग होगा)। यह जरूरी नहीं है कि जेडीके एनोटेशन से कैसे निपटता है, लेकिन जैक्सन एनोटेशन के लिए पूर्ण विरासत लागू करता है (विधि एनोटेशन के लिए भी)। – StaxMan