2012-01-23 24 views
6

मैं एक वस्तु है कि दो अन्य वस्तुओंJSON जैक्सन साझा का संदर्भ

मैं जैक्सन का उपयोग अपने वस्तुओं को क्रमानुसार करने लेकिन मेरे साझा वस्तु नहीं बल्कि संदर्भ से दोहराया गया है पाया है द्वारा उल्लेख किया गया है।

कारण यह है कि मैं समझता हूं कि जैक्सन केवल मूल्य से क्रमबद्ध कर सकता है न कि संदर्भ द्वारा।

मैंने कुछ अनुशंसित समाधान के लिए असफल रूप से देखा है।

किसी भी और सभी मदद की सराहना की जाती है।

वर्तमान जैक्सन लिब 1.8.3

उत्तर

5

वर्तमान में (1.9) आप कस्टम serializer, deserializer, इस संभाल करने के लिए लिखने के लिए होगा। ऑब्जेक्ट पहचान को संभालने के लिए आउट ऑफ़ द बॉक्स समर्थन नहीं है।

जावा ढांचे का एकमात्र ऐसा जिसे मैं ऑब्जेक्ट पहचान का समर्थन करने के लिए जानता हूं XStream है।

इसके लायक होने के लिए जैक्सन के समर्थन के लिए लंबे समय से feature request है। और 2.0 के लिए यह काम करने का उचित मौका है। लेकिन अगर यह भी होगा, इसमें कुछ समय लगेगा (एक महीने या दो)।

UPDATE (अप्रैल 2013): अन्य स्वीकृत उत्तर के अनुसार, यह सुविधा - @JsonIdentityInfo - वास्तव में जैक्सन 2.0 में शामिल थी, और उपलब्ध है। कस्टम (डी) धारावाहिकों की कोई ज़रूरत नहीं है।

+0

उत्तर के लिए धन्यवाद, मैं सुविधा का अनुरोध देखा था लेकिन प्रार्थना कर रहा था कि यह एक बहुत पुरानी एक :(था। मुझे लगता है कि मैं एक कामकाज के साथ आया हूं, मैं अपनी साझा वस्तु को एक संदर्भ दे रहा हूं और संदर्भ के साथ लिंक कर रहा हूं जब मैं वांछित हूं। धन्यवाद, बहुत सराहना की। – HKalsi

+0

हाँ, पुराना, क्योंकि यह 2.0 के लिए लागू किया गया था, और उपलब्ध है तब से। मैं अपना जवाब अपडेट करूंगा। – StaxMan

7

अच्छी तरह से समय बीत गया और जैक्सन 2.0 बाहर है। अनुरोधित सुविधा यहां दी गई है! मैं इस का जवाब तो मेरे जैसे लोगों के बाद पता आने वाले अपने उपलब्ध

https://github.com/FasterXML/jackson-docs/wiki/Presentation-Jackson-2.0

http://wiki.fasterxml.com/JacksonFeatureObjectIdentity

+0

नोट: wiki.fasterxml.com अब एक मृत लिंक है – Oleksii

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