While serializing using json.net i used DefaultValueHandling.Ignore in serialization settings, which result in removal of key if the bool is set false. I want that to be exempted for type bool alone, and apply for other types and classes. Please help
Thanks in advance.
DefaultValueHandling.Ignore
in serialization settings can be overridden by decorating any property with [JsonProperty(DefaultValueHandling = DefaultValueHandling.Include)]
attribute. Here is the class:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Include)]
public bool IsEmployed { get; set; }
}
Lets say that we have the following sample:
var person = new Person
{
FirstName = "John",
IsEmployed = false
};
var json = JsonConvert.SerializeObject(person, new JsonSerializerSettings { DefaultValueHandling = DefaultValueHandling.Ignore });
Will result in following json:
{
"FirstName": "John",
"IsEmployed": false
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With