diff --git a/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpNullableStringToGuidConverter.cs b/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpNullableStringToGuidConverter.cs index c80e5aa9a5..e5e521e1ef 100644 --- a/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpNullableStringToGuidConverter.cs +++ b/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpNullableStringToGuidConverter.cs @@ -6,8 +6,6 @@ namespace Volo.Abp.Json.SystemTextJson.JsonConverters; public class AbpNullableStringToGuidConverter : JsonConverter { - private JsonSerializerOptions _writeJsonSerializerOptions; - public override Guid? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { if (reader.TokenType == JsonTokenType.String) @@ -33,9 +31,13 @@ public class AbpNullableStringToGuidConverter : JsonConverter public override void Write(Utf8JsonWriter writer, Guid? value, JsonSerializerOptions options) { - _writeJsonSerializerOptions ??= JsonSerializerOptionsHelper.Create(options, this); - var entityConverter = (JsonConverter)_writeJsonSerializerOptions.GetConverter(typeof(Guid?)); - - entityConverter.Write(writer, value, _writeJsonSerializerOptions); + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(value.Value); + } } } diff --git a/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpStringToBooleanConverter.cs b/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpStringToBooleanConverter.cs index e704f2ceb0..1c0c0368cd 100644 --- a/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpStringToBooleanConverter.cs +++ b/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpStringToBooleanConverter.cs @@ -8,8 +8,6 @@ namespace Volo.Abp.Json.SystemTextJson.JsonConverters; public class AbpStringToBooleanConverter : JsonConverter { - private JsonSerializerOptions _writeJsonSerializerOptions; - public override bool Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { if (reader.TokenType == JsonTokenType.String) @@ -31,9 +29,6 @@ public class AbpStringToBooleanConverter : JsonConverter public override void Write(Utf8JsonWriter writer, bool value, JsonSerializerOptions options) { - _writeJsonSerializerOptions ??= JsonSerializerOptionsHelper.Create(options, this); - var entityConverter = (JsonConverter)_writeJsonSerializerOptions.GetConverter(typeof(bool)); - - entityConverter.Write(writer, value, _writeJsonSerializerOptions); + writer.WriteBooleanValue(value); } } diff --git a/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpStringToEnumConverter.cs b/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpStringToEnumConverter.cs index 6b7f32807e..cd23f0f056 100644 --- a/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpStringToEnumConverter.cs +++ b/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpStringToEnumConverter.cs @@ -11,8 +11,6 @@ public class AbpStringToEnumConverter : JsonConverter private JsonSerializerOptions _readJsonSerializerOptions; - private JsonSerializerOptions _writeJsonSerializerOptions; - public AbpStringToEnumConverter() : this(namingPolicy: null, allowIntegerValues: true) { @@ -41,11 +39,7 @@ public class AbpStringToEnumConverter : JsonConverter public override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options) { - _writeJsonSerializerOptions ??= JsonSerializerOptionsHelper.Create(options, x => - x == this || - x.GetType() == typeof(AbpStringToEnumFactory)); - - JsonSerializer.Serialize(writer, value, _writeJsonSerializerOptions); + JsonSerializer.Serialize(writer, value); } public override T ReadAsPropertyName(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) diff --git a/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpStringToGuidConverter.cs b/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpStringToGuidConverter.cs index 586e4462cf..5b65f8b855 100644 --- a/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpStringToGuidConverter.cs +++ b/framework/src/Volo.Abp.Json.SystemTextJson/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpStringToGuidConverter.cs @@ -6,8 +6,6 @@ namespace Volo.Abp.Json.SystemTextJson.JsonConverters; public class AbpStringToGuidConverter : JsonConverter { - private JsonSerializerOptions _writeJsonSerializerOptions; - public override Guid Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { if (reader.TokenType == JsonTokenType.String) @@ -28,9 +26,6 @@ public class AbpStringToGuidConverter : JsonConverter public override void Write(Utf8JsonWriter writer, Guid value, JsonSerializerOptions options) { - _writeJsonSerializerOptions ??= JsonSerializerOptionsHelper.Create(options, this); - var entityConverter = (JsonConverter)_writeJsonSerializerOptions.GetConverter(typeof(Guid)); - - entityConverter.Write(writer, value, _writeJsonSerializerOptions); + writer.WriteStringValue(value); } } diff --git a/framework/test/Volo.Abp.MemoryDb.Tests/Volo/Abp/MemoryDb/JsonConverters/EntityJsonConverter.cs b/framework/test/Volo.Abp.MemoryDb.Tests/Volo/Abp/MemoryDb/JsonConverters/EntityJsonConverter.cs index abbb5224bb..99377e1623 100644 --- a/framework/test/Volo.Abp.MemoryDb.Tests/Volo/Abp/MemoryDb/JsonConverters/EntityJsonConverter.cs +++ b/framework/test/Volo.Abp.MemoryDb.Tests/Volo/Abp/MemoryDb/JsonConverters/EntityJsonConverter.cs @@ -8,8 +8,6 @@ namespace Volo.Abp.MemoryDb.JsonConverters; public class EntityJsonConverter : JsonConverter where TEntity : Entity { - private JsonSerializerOptions _writeJsonSerializerOptions; - public override TEntity Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { var jsonDocument = JsonDocument.ParseValue(ref reader); @@ -34,7 +32,6 @@ public class EntityJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TEntity value, JsonSerializerOptions options) { - _writeJsonSerializerOptions ??= JsonSerializerOptionsHelper.Create(options, this); - JsonSerializer.Serialize(writer, value, _writeJsonSerializerOptions); + JsonSerializer.Serialize(writer, value, JsonSerializerOptionsHelper.Create(options, this)); } }