Json.net DefaultValueHandling免除布尔值

在使用json.net进行序列化时,我在序列化设置中使用了DefaultValueHandling.Ignore,如果将bool设置为false,则会导致删除键。 我希望单独使用bool类型免除,并申请其他类型和类。 请帮忙

提前致谢。

可以通过使用[JsonProperty(DefaultValueHandling = DefaultValueHandling.Include)]属性装饰任何属性来覆盖序列化设置中的[JsonProperty(DefaultValueHandling = DefaultValueHandling.Include)] 。 这是class级:

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

让我们说我们有以下样本:

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

将导致以下json:

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