गुणों को क्रमबद्ध किए बिना डीसेरिएलाइज़ करने के लिए Json.Net का उपयोग करना
कुछ मामलों में, आपको क्रमबद्ध JSON ऑब्जेक्ट से गुणों को डीसेरिएलाइज़ करने की आवश्यकता हो सकती है, लेकिन क्रमबद्ध करते समय आप उन्हें वापस लिखना नहीं चाहते हैं। Json.Net का उपयोग करके इसे कैसे प्राप्त किया जाए, यहां बताया गया है।
विधि 1: विधि को क्रमांकित करना चाहिए
Json.Net आपको कक्षा में ShodSerialize विधि को परिभाषित करके गुणों को सशर्त रूप से क्रमबद्ध करने की अनुमति देता है। एक ShodSerializeBlah() विधि बनाएं (जहां ब्लाह वह संपत्ति है जिसे आप क्रमबद्ध नहीं करना चाहते हैं) और इसे हमेशा गलत लौटाएं:
public bool ShouldSerializeObsoleteSetting()
{
return false;
}
विधि 2: JSON को संचालित करने के लिए JObject का उपयोग करें
ऑब्जेक्ट को JObject में लोड करने के लिए JObject.FromObject का उपयोग करें। JSON पर लिखने से पहले अनावश्यक विशेषताएँ हटाएँ:
JObject jo = JObject.FromObject(config);
jo["ObsoleteSetting"].Parent.Remove();
json = jo.ToString();
विधि तीन: गुण का दुरुपयोग
उन संपत्तियों पर [JsonIgnore] विशेषता लागू करें जिन्हें आप क्रमबद्ध नहीं करना चाहते हैं। मूल संपत्ति के समान प्रकार और नाम के साथ एक निजी संपत्ति सेटर को परिभाषित करें और उसी JSON नाम का उपयोग करके [JsonProperty] विशेषता लागू करें:
[JsonIgnore]
public Fizz ObsoleteSetting { get; set; }
[JsonProperty("ObsoleteSetting")]
private Fizz ObsoleteSettingAlternateSetter
{
set { ObsoleteSetting = value; }
}
उपरोक्त विधियों में से किसी एक का उपयोग करके, आप चयनात्मक रूप से क्रमबद्धता से गुणों को बाहर कर सकते हैं जबकि अभी भी अक्रमांकन की अनुमति दे सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3