2012-07-23 20 views
9

मेरे पास एक साधारण पीओजेओ वर्ग है जो एक और सरल पीओजेओ कक्षा बढ़ाता है। मैं इन POJO कक्षाओं में JSON पर गुणों को मार्शल करने के लिए com.sun.jersey.json.impl.provider.entity.JacksonProviderProxy का उपयोग कर रहा हूं। हालांकि, जब मैंने कुछ गुणों को पीओजेओ को null के रूप में सेट किया है, तो यह उन गुणों को आउटपुट करने के बजाय null स्ट्रिंग के रूप में आउटपुट करता है।जैक्सनप्रोवाइडरप्रॉक्सी जेसन आउटपुट में शून्य मूल्यों को लिखना

उदाहरण के लिए।

उदाहरण के लिए

:

{ 
    Person: 
    [{ 
     "firstName":"John" 
     "lastName":"null" 
    }] 
} 
बजाय

{ 
    Person: 
    [{ 
     "firstName":"John" 
    }] 
} 
+0

मैं इसे एक वेब ऐप में करने की कोशिश कर रहा हूं। तो वेब अनुप्रयोग में इसे कैसे सुरक्षित किया जाए इस बारे में कोई संकेतक बहुत अच्छा होगा। –

उत्तर

18

विभिन्न विकल्प शून्य मान, उपयोग में जैक्सन के संस्करण के आधार के साथ संपत्तियों की क्रमबद्धता को दबाने के लिए उपलब्ध हैं, और कि क्या ObjectMapper सीधे विन्यस्त किया जा सकता।

जैक्सन 1.1+ के साथ

, सीधी पहुँच ObjectMapper कॉन्फ़िगर करने के लिए के साथ, आप बस कह सकते हैं setSerializationInclusion (Include.NON_NULL)।

वैकल्पिक रूप से, आप (वर्ग) प्रकार गुण है कि है, जिसके लिए अशक्त गुण क्रमबद्धता @JsonSerialize (include=Inclusion.NON_NULL) के साथ, दबा दिया जा रहा है पर टिप्पणी कर सकते हैं।

@JsonSerialize एनोटेशन के बजाय जैक्सन 2+ के साथ, @JsonInclude (Include.NON_NULL) का उपयोग करें।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^