This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
using System.Text;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace ShrinkDataSaver
|
||||
{
|
||||
public static class DataSerializer
|
||||
{
|
||||
private static readonly JsonSerializerSettings Settings = new()
|
||||
{
|
||||
NullValueHandling = NullValueHandling.Ignore,
|
||||
DefaultValueHandling = DefaultValueHandling.Include,
|
||||
Formatting = Formatting.None
|
||||
};
|
||||
|
||||
public static byte[] Serialize<T>(T obj)
|
||||
=> Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(obj, Settings));
|
||||
|
||||
public static T Deserialize<T>(byte[] data)
|
||||
=> JsonConvert.DeserializeObject<T>(Encoding.UTF8.GetString(data), Settings);
|
||||
|
||||
public static JObject ToJObject(byte[] data)
|
||||
=> JObject.Parse(Encoding.UTF8.GetString(data));
|
||||
|
||||
public static byte[] FromJObject(JObject obj)
|
||||
=> Encoding.UTF8.GetBytes(obj.ToString(Formatting.None));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user