I would like Json.NET
to throw a JsonSerializationException
when the Json
string is missing a property that the C# class requires.
There is the MissingMemberHandling Enumeration
which
Throw a JsonSerializationException when a missing member is encountered during deserialization.
but I think this is the reverse of what I want. I think this means a missing member on the c# class. I want a missing Json member.
My code is
public MyObj Deserialise(string json)
{
var jsonSettings = new JsonSerializerSettings();
jsonSettings.MissingMemberHandling = MissingMemberHandling.Error;
return JsonConvert.DeserializeObject<ApiMessage>(json, jsonSettings);
}
For example
public class MyObj
{
public string P1 { get; set; }
public string P2 { get; set; }
}
string json = @"{ ""P1"": ""foo"" }";
P2 is missing from the json. I want to know when this is the case.
Thanks.