2012-08-28 25 views
16

को छोड़कर मैं सामान्य रूप से objectMapper.setSerializationInclusion (JsonSerialize.Inclusion.NON_NULL) का उपयोग करता हूं क्योंकि मैं कभी भी अपने वर्गों के क्रमबद्ध मानों को नहीं चाहता हूं। सिवाय इसके कि मेरे पास एक विशिष्ट फ़ील्ड लिखा जाना चाहिए, भले ही यह शून्य हो। क्या एक त्वरित एनोटेशन है जिसे मैं इस क्षेत्र में डाल सकता हूं जो उस फ़ील्ड के लिए समावेशन.NON_NULL प्रॉपर्टी को ओवरराइड करता है? इसे हासिल करने का एक अच्छा तरीका क्या है?जैक्सन JsonSerialize.Inclusion.NON_NULL का उपयोग एक वर्ग

उत्तर

25

जैक्सन 1.x के साथ आप @JsonSerialize(include=Include.ALWAYS) और जैक्सन 2.x के साथ उपयोग कर सकते हैं आप @JsonInclude(Include.ALWAYS) का उपयोग कर सकते हैं। ये एनोटेशन आपके ObjectMapper से डिफ़ॉल्ट कॉन्फ़िगरेशन को ओवरराइड कर देंगे।

+0

के रूप में जैक्सन 2.x में एक ही है। –

+4

जैक्सन 1.x सामान org.codehaus.jackson पैकेज के अंतर्गत है और 2.x com.fasterxml.jackson के अंतर्गत है –

2

जैक्सन 1.9 के साथ @JsonSerialize(include= JsonSerialize.Inclusion.ALWAYS)

@JsonSerialize(include=Include.ALWAYS) प्रयोग किया जाता है संकलन नहीं किया।

10

@ user1433372, जेसन इनक्लेन केवल जैक्सन 2.x के लिए एक एनोटेशन है।

जैक्सन 1,9

@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY) 

में

आप कृपया उल्लेख कर सकते हैं जैक्सन 2.x जार नाम और @JsonSerialize पैकेज

@JsonInclude(JsonInclude.Include.NON_EMPTY)