"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं json.net का उपयोग करके उन्हें क्रमबद्ध किए बिना JSON गुणों को कैसे हटा सकता हूं?

मैं json.net का उपयोग करके उन्हें क्रमबद्ध किए बिना JSON गुणों को कैसे हटा सकता हूं?

2025-01-27 को प्रकाशित
ब्राउज़ करें:268

How Can I Deserialize JSON Properties Without Serializing Them Using Json.Net?

गुणों को क्रमबद्ध किए बिना डीसेरिएलाइज़ करने के लिए 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