Json.net DefaultValueHandling che esenta il solo booleano

Durante la serializzazione con json.net ho usato DefaultValueHandling.Ignore nelle impostazioni di serializzazione, il che comporta la rimozione della chiave se il valore bool è impostato su false. Voglio che sia esentato per il tipo bool da solo e faccia domanda per altri tipi e classi. Per favore aiuto

Grazie in anticipo.

DefaultValueHandling.Ignore nelle impostazioni di serializzazione può essere sovrascritto decorando qualsiasi proprietà con l’ [JsonProperty(DefaultValueHandling = DefaultValueHandling.Include)] . Ecco la class:

 public class Person { public string FirstName { get; set; } public string LastName { get; set; } [JsonProperty(DefaultValueHandling = DefaultValueHandling.Include)] public bool IsEmployed { get; set; } } 

Diciamo che abbiamo il seguente esempio:

 var person = new Person { FirstName = "John", IsEmployed = false }; var json = JsonConvert.SerializeObject(person, new JsonSerializerSettings { DefaultValueHandling = DefaultValueHandling.Ignore }); 

Risulterà in seguito json:

 { "FirstName": "John", "IsEmployed": false }