Impostazioni Json.NET MissingMemberHandling

Vorrei che Json.NET lanciasse JsonSerializationException quando alla stringa Json manca una proprietà richiesta dalla class C #.

C’è l’ MissingMemberHandling Enumeration che

Lanciare una JSONSerializationException quando si incontra un membro mancante durante la deserializzazione.

ma penso che questo sia il contrario di ciò che voglio. Penso che questo significhi un membro mancante nella class c #. Voglio un membro Json mancante.

Il mio codice è

 public MyObj Deserialise(string json) { var jsonSettings = new JsonSerializerSettings(); jsonSettings.MissingMemberHandling = MissingMemberHandling.Error; return JsonConvert.DeserializeObject(json, jsonSettings); } 

Per esempio

 public class MyObj { public string P1 { get; set; } public string P2 { get; set; } } string json = @"{ ""P1"": ""foo"" }"; 

P2 manca a JSON. Voglio sapere quando questo è il caso.

Grazie.

È necessario impostare la proprietà P2 su obbligatorio con JsonPropertyAttribute

 public class ApiMessage { public string P1 { get; set; } [JsonProperty(Required = Required.Always)] public string P2 { get; set; } } 

Con il tuo esempio, otterrai una JsonSerializationException .

Spero che sia d’aiuto!