mirror of
https://github.com/MikuLeaks/KianaBH3.git
synced 2025-12-13 13:24:34 +01:00
Init enter game
This commit is contained in:
24
Common/Util/Extensions/JsonStringToObjectConverter.cs
Normal file
24
Common/Util/Extensions/JsonStringToObjectConverter.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace KianaBH.Util.Extensions;
|
||||
|
||||
public class JsonStringToObjectConverter<T> : JsonConverter<T> where T : class
|
||||
{
|
||||
public override T? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
if (reader.TokenType != JsonTokenType.String)
|
||||
return JsonSerializer.Deserialize<T>(ref reader, options);
|
||||
|
||||
var jsonString = reader.GetString();
|
||||
return !string.IsNullOrEmpty(jsonString)
|
||||
? JsonSerializer.Deserialize<T>(jsonString, options)
|
||||
: null;
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options)
|
||||
{
|
||||
var json = JsonSerializer.Serialize(value, options);
|
||||
writer.WriteStringValue(json);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user