C# Json.net DefaultValueHandling仅验证布尔值

C# Json.net DefaultValueHandling仅验证布尔值,c#,json.net,C#,Json.net,在使用json.net进行序列化时,我在序列化设置中使用了DefaultValueHandling.Ignore,如果bool设置为false,则会删除密钥。我想这是豁免类型布尔单独,并申请其他类型和类。请帮忙 提前感谢。DefaultValueHandling.Ignore在序列化设置中可以通过使用[JsonProperty(DefaultValueHandling=DefaultValueHandling.Include)]属性装饰任何属性来覆盖。下面是课堂: public class Pe

在使用json.net进行序列化时,我在序列化设置中使用了DefaultValueHandling.Ignore,如果bool设置为false,则会删除密钥。我想这是豁免类型布尔单独,并申请其他类型和类。请帮忙


提前感谢。

DefaultValueHandling.Ignore
在序列化设置中可以通过使用
[JsonProperty(DefaultValueHandling=DefaultValueHandling.Include)]
属性装饰任何属性来覆盖。下面是课堂:

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
}