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

मैं JSON.NET थ्रो अपवादों को लापता क्षेत्रों के लिए अपवाद कैसे बना सकता हूं?

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

How Can I Make Json.NET Throw Exceptions for Missing Fields During Deserialization?

JSON के बैक -अनुक्रमिककरण

के दौरान लापता क्षेत्रों का पता लगाने के लिए json.net का उपयोग करता है। JSON के बैक -सिचुएशन में, लापता क्षेत्रों से निपटना महत्वपूर्ण है। डिफ़ॉल्ट रूप से, JSON.NET का सीरियलाइज़र लापता क्षेत्रों का सामना करते समय चुपचाप मौन में वापस आ जाएगा। यह व्यवहार असीमित त्रुटियों को जन्म दे सकता है जब गलत गहनता के साथ कोई ऑब्जेक्ट होता है।

सवाल:

] इसके बजाय, यह मूक मान लौटाता है, जिससे गलत डेटा का पता लगाना मुश्किल हो जाता है। समाधान:

] इसे

त्रुटि

पर सेट करके, आप संकेत दे सकते हैं कि सीरियलाइज़र डेजर्टिफिकेशन अवधि के दौरान लापता क्षेत्रों का सामना करते समय jsonserializationexception का कारण बनता है। इस तरह, आप कोड में इस तरह की त्रुटियों को स्पष्ट रूप से संभाल सकते हैं।

कोड: ] कोशिश {{ // JSON स्ट्रिंग पढ़ें Const string relowdata = @"{'myjsonint': 42}"; Const string urddata = @"{'कुछ otherproperty': 'fbe8c20b'}"; // धारावाहिक सेटिंग्स बनाएं JSonserializerSettings सेटिंग्स = NEW JSONSERIALATETNGS (); सेटिंग्स। MissingMembErhandling = लापता होना। // रिवर्स अनुक्रमिककरण ऑब्जेक्ट var goodobj = jsonconvert.deserializeObject (reftData, सेटिंग्स); Console.writeline (goodobj.myjsonint.tostring ()); var badobj = jsonconvert.deserializeObject (Ingdata, सेटिंग्स); Console.writeline (badobj.myjsonint.tostring ()); } कैच (अपवाद पूर्व) {{ कंसोल। } आउटपुट: ४२ Jsonserialionexceuon: ऑब्जेक्ट पर सदस्य 'कुछ otherproperty' नहीं मिला 'MyJSonObjView' टाइप करें। ] और सुनिश्चित करें कि डेटा पॉटरी।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3