2012-01-31 16 views
20

मैं एक एपीआई के साथ काम कर रहा हूं जो जेसन का उपयोग करता है। मेरे पास कुछ कक्षाएं हैं जिन्हें मैंने एपीआई मॉडल बनाने के लिए बनाया है। जीवन को आसान बनाने के लिए, मेरे मॉडल सार्वजनिक गुणों का उपयोग करते हैं, जो बदले में जेसन.नेट द्वारा उपयोग किए जाते हैं जब जेसन को वस्तुओं में deserializing।क्या अपरिवर्तनीय कक्षाओं के साथ जेसन.Net deserialization का उपयोग करने का कोई तरीका है?

मैं अपनी वस्तुओं को अपरिवर्तनीय बनाना चाहता हूं, लेकिन मैं एक समस्या में भाग रहा हूं क्योंकि अगर मैं केवल अपनी गुणों को पढ़ता हूं, तो मैं deserialization तोड़ देता हूं। क्या मेरे पास अपरिवर्तनीय वस्तुएं रखने का कोई तरीका है, और deserialization का उपयोग करें?

उत्तर

14

मुझे लगता है कि आप JsonConstructorAttribute का उपयोग करने में सक्षम होना चाहिए। उदाहरण के लिए this question देखें।

+0

मुझे लगता है कि आप एक लिंक पेस्ट करना भूल गए हैं :) – GregB

+0

@GregB, क्षमा करें, अब पोस्ट किया गया। –

+1

यदि केवल एक कन्स्ट्रक्टर है, तो 'जेसन कॉन्स्ट्रक्टर एट्रिब्यूट' अनावश्यक है। –

8

गुणों के अनुरूप पैरामीटर के साथ एक निर्माता प्रदान करें। पैरामीटर और गुणों के पहले अक्षरों के आवरण से मेल खाने की आवश्यकता नहीं है।

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

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