在使用json.net进行序列化时,我在序列化设置中使用了DefaultValueHandling.Ignore,如果将bool设置为false,则会导致删除键。我希望单独使用bool类型免除,并申请其他类型和类。请帮忙
提前致谢。
答案 0 :(得分:11)
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
}