我想知道是否有一种优雅的方法来避免使用Json.net序列化空值属性。这个链接显示了有条件序列化的两种方式,但它们都不是我想要的。第一种方法接近我想要的,但不令人满意。例如,你应该为每个属性创建一个方法(ShouldSerialize + 'property-name'())。这不是一个优雅的解决方案,因为所有方法都必须是公共的,并且是可见的。如果你有20个属性意味着你应该有20个方法或者有更好的方法吗?最好的解决方案是有一个方法,比如OnSerialize(object property, object value);当对象的属性即将被序列化时调用。请帮助…
查看空值处理
中的示例此示例将一个对象序列化为JSON,并将NullValueHandling设置为Ignore,以便具有默认值的属性不包含在JSON结果中。
string jsonIgnoreNullValues = JsonConvert.SerializeObject(person, Formatting.Indented, new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore
});