Json.Net串行器具有
MissingMemberHandling可以设置为的设置
Error。(默认值为
Ignore。)这将导致序列化程序
JsonSerializationException在遇到目标类中没有对应属性的JSON属性时,在反序列化期间引发。
static void Main(string[] args){ try { JsonSerializerSettings settings = new JsonSerializerSettings(); settings.MissingMemberHandling = MissingMemberHandling.Error; var goodObj = JsonConvert.DeserializeObject<MyJsonObjView>(correctData, settings); System.Console.Out.WriteLine(goodObj.MyJsonInt.ToString()); var badObj = JsonConvert.DeserializeObject<MyJsonObjView>(wrongData, settings); System.Console.Out.WriteLine(badObj.MyJsonInt.ToString()); } catch (Exception ex) { Console.WriteLine(ex.GetType().Name + ": " + ex.Message); }}结果:
42JsonSerializationException: Could not find member 'SomeOtherProperty' on objectof type 'MyJsonObjView'. Path 'SomeOtherProperty', line 3, position 33.
请参阅:MissingMemberHandling设置。



