For #1429, respect unset initial value on JsonObjectAttribute
This commit is contained in:
@@ -34,11 +34,11 @@ namespace Newtonsoft.Json
|
||||
public sealed class JsonObjectAttribute : JsonContainerAttribute
|
||||
{
|
||||
private MemberSerialization _memberSerialization = MemberSerialization.OptOut;
|
||||
private NullValueHandling _nullValueHandling = NullValueHandling.Include;
|
||||
|
||||
|
||||
// yuck. can't set nullable properties on an attribute in C#
|
||||
// have to use this approach to get an unset default state
|
||||
internal Required? _itemRequired;
|
||||
internal NullValueHandling? _nullValueHandling;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the member serialization.
|
||||
@@ -56,7 +56,7 @@ namespace Newtonsoft.Json
|
||||
/// <value>The null value handling.</value>
|
||||
public NullValueHandling NullValueHandling
|
||||
{
|
||||
get => _nullValueHandling;
|
||||
get => _nullValueHandling ?? default(NullValueHandling);
|
||||
set => _nullValueHandling = value;
|
||||
}
|
||||
|
||||
|
||||
@@ -1511,7 +1511,7 @@ namespace Newtonsoft.Json.Serialization
|
||||
|
||||
if (property.NullValueHandling == null && containerAttribute is JsonObjectAttribute objectAttribute)
|
||||
{
|
||||
property.NullValueHandling = objectAttribute.NullValueHandling;
|
||||
property.NullValueHandling = objectAttribute._nullValueHandling;
|
||||
}
|
||||
|
||||
if (requiredAttribute != null)
|
||||
|
||||
Reference in New Issue
Block a user