在使用 json.net 进行序列化时,我在序列化设置中使用了 DefaultValueHandling.Ignore,如果 bool 设置为 false,这会导致删除 key 。我希望 bool 类型单独免除它,并申请其他类型和类。请帮忙
提前致谢。
最佳答案
序列化设置中的
DefaultValueHandling.Ignore
可以通过使用 [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
}
关于c# - Json.net DefaultValueHandling 单独豁免 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23973056/