2010-03-24 6 views
7

कहें कि मेरे पास ऑब्जेक्ट ऑब्जेक्ट्स की सूची वाले व्यवसाय जैसे ऑब्जेक्ट हैं, और एक ऑर्डर जिसमें व्यवसाय है।गुणों को बाहर करने के लिए जैक्सन-जेसन मैपर को कॉन्फ़िगर करना संभव है कि यह किस ऑब्जेक्ट को क्रमबद्ध कर रहा है?

क्या यह कॉन्फ़िगर करना संभव है ताकि जब आदेश क्रमबद्ध हो, तो यह व्यापार ऑब्जेक्ट से पते की सूची को छोड़ देता है, और जब व्यवसाय क्रमबद्ध होता है तो इसमें सूची शामिल होती है?

मैं आरआईए के लिए डेटा खींचने के लिए AJAX का उपयोग कर रहा हूं और ऑर्डर के साथ काम करते समय मुझे वास्तव में पता डेटा की परवाह नहीं है, लेकिन व्यवसाय से निपटने पर मुझे सूची चाहिए।

मैं दृढ़ता के लिए हाइबरनेट का भी उपयोग कर रहा हूं, इसलिए यह वास्तव में एक दक्षता और प्रदर्शन अनुकूलन है।

उत्तर

8

यदि मैं सही ढंग से प्रश्न समझता हूं, तो मुझे लगता है कि जैक्सन के लिए JSON Views यह अनुमति देगा। आप मूल रूप से एक ही प्रकार के लिए दो अलग-अलग विचार (प्रोफाइल) बनायेंगे, और चयन करें कि क्रमबद्ध करने के लिए किस का उपयोग करना है।

5

आप JsonIgnore Annotation का उपयोग क्रमबद्धता में पता सूची को अनदेखा और ObjectMapper के SerializationConfig जब एक व्यापार serializing में एनोटेशन के उपयोग को बंद कर सकता है। बेशक, इसका मतलब है कि आप जिन अन्य टिप्पणियों का उपयोग कर सकते हैं उन्हें भी नजरअंदाज कर दिया जाता है। सही नहीं है, लेकिन आपको यह देखने में एक बेहतर समाधान मिल सकता है, उम्मीद है कि यह मदद करता है (जाहिर है)।

ObjectMapper mapper = new ObjectMapper(); 
mapper.getSerializationConfig().disable(Feature.USE_ANNOTATIONS); 
0

हाँ, आप इसे कर सकते हैं। आपको केवल अपनी व्यावसायिक वस्तु में क्षणिक संपत्ति के रूप में पता की सूची घोषित करना है।

फिर अपने jsonConfig के लिए निम्न कोड जोड़ें:

jsonConfig.setIgnoreTransientFields(true); 
-1
@JsonIgnore 

गुण है कि आप json में बदलने के लिए नहीं करना चाहती अनदेखी करने के लिए प्रयोग किया जाता है।

public class UserDocument { 

    private long id; 

    private String documentUrl; 

    @JsonIgnore 
    private byte documentType; 

    //traditional getters and setters 
} 

आउटपुट: यह गुण आईडी और documentUrl में परिवर्तित कर देंगे लेकिन रूपांतरित नहीं करेंगे संपत्ति documentType

{ 
    "id": 5, 
    "document_url": "/0/301115124948.jpg" 
} 
+0

यह ओपी का उत्तर नहीं देता है जो ठीक से पूछता है कि फ़ील्ड को बहिष्कृत किया जा सकता है या नहीं। –

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

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