diff --git a/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs b/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs
index 3c8171a0..d4fde5d2 100644
--- a/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs
+++ b/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs
@@ -147,6 +147,14 @@ namespace Newtonsoft.Json.Serialization
public bool IgnoreSerializableAttribute { get; set; }
#endif
+ ///
+ /// Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing tyeps.
+ ///
+ ///
+ /// true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false.
+ ///
+ public bool IgnoreIsSpecifiedMembers { get; set; }
+
///
/// Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized.
///
@@ -1387,7 +1395,10 @@ namespace Newtonsoft.Json.Serialization
}
property.ShouldSerialize = CreateShouldSerializeTest(member);
- SetIsSpecifiedActions(property, member, allowNonPublicAccess);
+ if (!IgnoreIsSpecifiedMembers)
+ {
+ SetIsSpecifiedActions(property, member, allowNonPublicAccess);
+ }
return property;
}