मैं पूर्वनिर्धारित डेटा संरचना के साथ एक वस्तु है JSON.NET डेटा के दौरान त्रुटियों को पार्स ध्यान न दें:पार्स करने
public class A
{
public string Id {get;set;}
public bool? Enabled {get;set;}
public int? Age {get;set;}
}
और JSON होने की
{ "Id": "123", "Enabled": true, "Age": 23 }
मैं सकारात्मक रास्ते में JSON त्रुटि हैंडल करना चाहते हैं माना जाता है , और जब भी सर्वर परिभाषित डेटा-प्रकारों के लिए अप्रत्याशित मान देता है, तो मैं इसे अनदेखा करना चाहता हूं और डिफ़ॉल्ट मान सेट (शून्य) है।
अभी जब JSON आंशिक रूप से अमान्य मैं JSON पाठक अपवाद हो रही है:
{ "Id": "123", "Enabled": "NotABoolValue", "Age": 23 }
और मैं सब पर किसी भी वस्तु नहीं मिलता है।
new A() { Id = "123", Enabled = null, Age = 23 }
और पार्स चेतावनी यदि संभव हो तो: क्या मैं चाहता हूँ एक वस्तु प्राप्त करने के लिए है। क्या JSON.NET के साथ पूरा करना संभव है?
var a = JsonConvert.DeserializeObject<A>("-- JSON STRING --", new JsonSerializerSettings
{
Error = HandleDeserializationError
});
जहां HandleDeserializationError
निम्न विधि है:
बस महान काम करता है। यह वहीं है जिसे मैं ढूंढ रहा था! धन्यवाद –
ध्यान दें कि ErrorEventArgs Newtonsoft.Json.Serialization.ErrorEventArgs है और System.IO.ErrorEventArgs नहीं है। –
एक्सेलेंट! इस काम! – Yonedev