uff, lot of work
This commit is contained in:
39
OwnChar/JsonHelpers.cs
Normal file
39
OwnChar/JsonHelpers.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using Newtonsoft.Json;
|
||||
using OwnChar.Api.Packets;
|
||||
|
||||
namespace OwnChar;
|
||||
|
||||
public static class JsonHelpers
|
||||
{
|
||||
private static JsonSerializerSettings? defaultSerializerSettings;
|
||||
|
||||
public static JsonSerializerSettings DefaultSerializerSettings => defaultSerializerSettings ??= CreateDefaultSerializerSettings();
|
||||
|
||||
private static JsonSerializerSettings CreateDefaultSerializerSettings()
|
||||
{
|
||||
return new JsonSerializerSettings
|
||||
{
|
||||
TypeNameHandling = TypeNameHandling.Auto,
|
||||
};
|
||||
}
|
||||
|
||||
public static string? SerializeRequest<T>(T request) where T : OwnCharRequest
|
||||
{
|
||||
return JsonConvert.SerializeObject(request, DefaultSerializerSettings);
|
||||
}
|
||||
|
||||
public static string? SerializeResponse<T>(T request) where T : OwnCharResponse
|
||||
{
|
||||
return JsonConvert.SerializeObject(request, DefaultSerializerSettings);
|
||||
}
|
||||
|
||||
public static T? DeserializeRequest<T>(string request) where T : OwnCharRequest
|
||||
{
|
||||
return JsonConvert.DeserializeObject<T>(request, DefaultSerializerSettings);
|
||||
}
|
||||
|
||||
public static T? DeserializeResponse<T>(string request) where T : OwnCharResponse
|
||||
{
|
||||
return JsonConvert.DeserializeObject<T>(request, DefaultSerializerSettings);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user