Merge pull request #17128 from abpframework/RemoveGetConverter

No longer use `GetConverter` to get converter.
pull/17145/head
Engincan VESKE 2 years ago committed by GitHub
commit 40366462f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -6,8 +6,6 @@ namespace Volo.Abp.Json.SystemTextJson.JsonConverters;
public class AbpNullableStringToGuidConverter : JsonConverter<Guid?>
{
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<Guid?>
public override void Write(Utf8JsonWriter writer, Guid? value, JsonSerializerOptions options)
{
_writeJsonSerializerOptions ??= JsonSerializerOptionsHelper.Create(options, this);
var entityConverter = (JsonConverter<Guid?>)_writeJsonSerializerOptions.GetConverter(typeof(Guid?));
entityConverter.Write(writer, value, _writeJsonSerializerOptions);
if (value == null)
{
writer.WriteNullValue();
}
else
{
writer.WriteStringValue(value.Value);
}
}
}

@ -8,8 +8,6 @@ namespace Volo.Abp.Json.SystemTextJson.JsonConverters;
public class AbpStringToBooleanConverter : JsonConverter<bool>
{
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<bool>
public override void Write(Utf8JsonWriter writer, bool value, JsonSerializerOptions options)
{
_writeJsonSerializerOptions ??= JsonSerializerOptionsHelper.Create(options, this);
var entityConverter = (JsonConverter<bool>)_writeJsonSerializerOptions.GetConverter(typeof(bool));
entityConverter.Write(writer, value, _writeJsonSerializerOptions);
writer.WriteBooleanValue(value);
}
}

@ -11,8 +11,6 @@ public class AbpStringToEnumConverter<T> : JsonConverter<T>
private JsonSerializerOptions _readJsonSerializerOptions;
private JsonSerializerOptions _writeJsonSerializerOptions;
public AbpStringToEnumConverter()
: this(namingPolicy: null, allowIntegerValues: true)
{
@ -41,11 +39,7 @@ public class AbpStringToEnumConverter<T> : JsonConverter<T>
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)

@ -6,8 +6,6 @@ namespace Volo.Abp.Json.SystemTextJson.JsonConverters;
public class AbpStringToGuidConverter : JsonConverter<Guid>
{
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<Guid>
public override void Write(Utf8JsonWriter writer, Guid value, JsonSerializerOptions options)
{
_writeJsonSerializerOptions ??= JsonSerializerOptionsHelper.Create(options, this);
var entityConverter = (JsonConverter<Guid>)_writeJsonSerializerOptions.GetConverter(typeof(Guid));
entityConverter.Write(writer, value, _writeJsonSerializerOptions);
writer.WriteStringValue(value);
}
}

@ -8,8 +8,6 @@ namespace Volo.Abp.MemoryDb.JsonConverters;
public class EntityJsonConverter<TEntity, TKey> : JsonConverter<TEntity>
where TEntity : Entity<TKey>
{
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<TEntity, TKey> : JsonConverter<TEntity>
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));
}
}

Loading…
Cancel
Save