diff --git a/docs/serializer-settings.md b/docs/serializer-settings.md index 71ae7c6845..f8a7a0ab90 100644 --- a/docs/serializer-settings.md +++ b/docs/serializer-settings.md @@ -93,7 +93,7 @@ var settings = new JsonSerializerSettings DefaultValueHandling = DefaultValueHandling.Ignore, }; ``` -snippet source | anchor +snippet source | anchor diff --git a/src/FSharpTests/FSharpTests.fsproj b/src/FSharpTests/FSharpTests.fsproj index 507e52f42d..a0079daf51 100644 --- a/src/FSharpTests/FSharpTests.fsproj +++ b/src/FSharpTests/FSharpTests.fsproj @@ -6,7 +6,7 @@ - + diff --git a/src/Verify/Serialization/Converters/StringBuilderConverter.cs b/src/Verify/Serialization/Converters/StringBuilderConverter.cs deleted file mode 100644 index 059792fa8e..0000000000 --- a/src/Verify/Serialization/Converters/StringBuilderConverter.cs +++ /dev/null @@ -1,6 +0,0 @@ -class StringBuilderConverter : - WriteOnlyJsonConverter -{ - public override void Write(VerifyJsonWriter writer, StringBuilder value) => - writer.WriteValue(value.ToString()); -} \ No newline at end of file diff --git a/src/Verify/Serialization/Converters/StringWriterConverter.cs b/src/Verify/Serialization/Converters/StringWriterConverter.cs deleted file mode 100644 index 4f60664f80..0000000000 --- a/src/Verify/Serialization/Converters/StringWriterConverter.cs +++ /dev/null @@ -1,6 +0,0 @@ -class StringWriterConverter : - WriteOnlyJsonConverter -{ - public override void Write(VerifyJsonWriter writer, StringWriter value) => - writer.WriteValue(value.ToString()); -} \ No newline at end of file diff --git a/src/Verify/Serialization/SerializationSettings.cs b/src/Verify/Serialization/SerializationSettings.cs index 8232241276..cd29f6545f 100644 --- a/src/Verify/Serialization/SerializationSettings.cs +++ b/src/Verify/Serialization/SerializationSettings.cs @@ -4,34 +4,40 @@ partial class SerializationSettings { - static JArrayConverter jArrayConverter = new(); - static JObjectConverter jObjectConverter = new(); - static KeyValuePairConverter keyValuePairConverter = new(); - static InfoBuilder.Converter infoConverter = new(); + static SerializationSettings() + { + var converters = DefaultContractResolver.Converters; + converters.Remove(converters.OfType().Single()); + converters.AddRange(new JsonConverter[] + { + new JArrayConverter(), + new JObjectConverter(), + new KeyValuePairConverter(), + new InfoBuilder.Converter(), #if NET6_0_OR_GREATER - static TimeConverter timeConverter = new(); - static DateConverter dateConverter = new(); + new TimeConverter(), + new DateConverter(), #endif - static StringEnumConverter stringEnumConverter = new(); - static DelegateConverter delegateConverter = new(); - static TargetInvocationExceptionConverter targetInvocationExceptionConverter = new(); - static ExpressionConverter expressionConverter = new(); - static TypeJsonConverter typeJsonConverter = new(); - static MethodInfoConverter methodInfoConverter = new(); - static FieldInfoConverter fieldInfoConverter = new(); - static ConstructorInfoConverter constructorInfoConverter = new(); - static ParameterInfoConverter parameterInfoConverter = new(); - static PropertyInfoConverter propertyInfoConverter = new(); - static ClaimConverter claimConverter = new(); - static AggregateExceptionConverter aggregateExceptionConverter = new(); - static ClaimsPrincipalConverter claimsPrincipalConverter = new(); - static ClaimsIdentityConverter claimsIdentityConverter = new(); - static NameValueCollectionConverter nameValueCollectionConverter = new(); - static StringDictionaryConverter stringDictionaryConverter = new(); - static StringBuilderConverter stringBuilderConverter = new(); - static TaskConverter taskConverter = new(); - static ValueTaskConverter valueTaskConverter = new(); - static StringWriterConverter stringWriterConverter = new(); + new StringEnumConverter(), + new DelegateConverter(), + new TargetInvocationExceptionConverter(), + new ExpressionConverter(), + new TypeJsonConverter(), + new MethodInfoConverter(), + new FieldInfoConverter(), + new ConstructorInfoConverter(), + new ParameterInfoConverter(), + new PropertyInfoConverter(), + new ClaimConverter(), + new AggregateExceptionConverter(), + new ClaimsPrincipalConverter(), + new ClaimsIdentityConverter(), + new NameValueCollectionConverter(), + new StringDictionaryConverter(), + new TaskConverter(), + new ValueTaskConverter(), + }); + } JsonSerializerSettings jsonSettings; @@ -92,35 +98,6 @@ JsonSerializerSettings BuildSettings() settings.SerializationBinder = ShortNameBinder.Instance; settings.ContractResolver = new CustomContractResolver(this); - var converters = settings.Converters; - converters.Add(aggregateExceptionConverter); - converters.Add(stringBuilderConverter); - converters.Add(infoConverter); - converters.Add(stringWriterConverter); -#if NET6_0_OR_GREATER - converters.Add(dateConverter); - converters.Add(timeConverter); -#endif - converters.Add(stringEnumConverter); - converters.Add(expressionConverter); - converters.Add(delegateConverter); - converters.Add(targetInvocationExceptionConverter); - converters.Add(typeJsonConverter); - converters.Add(methodInfoConverter); - converters.Add(fieldInfoConverter); - converters.Add(constructorInfoConverter); - converters.Add(propertyInfoConverter); - converters.Add(parameterInfoConverter); - converters.Add(claimConverter); - converters.Add(claimsIdentityConverter); - converters.Add(taskConverter); - converters.Add(valueTaskConverter); - converters.Add(claimsPrincipalConverter); - converters.Add(jArrayConverter); - converters.Add(jObjectConverter); - converters.Add(nameValueCollectionConverter); - converters.Add(stringDictionaryConverter); - converters.Add(keyValuePairConverter); foreach (var extraSetting in extraSettings) { extraSetting(settings); diff --git a/src/Verify/Verify.csproj b/src/Verify/Verify.csproj index dee203ccb0..d7b06b4b84 100644 --- a/src/Verify/Verify.csproj +++ b/src/Verify/Verify.csproj @@ -29,7 +29,7 @@ - +