Files
RedHotRoast-ios/Assets/Scripts/ToolKit/GeneralKit/SerializeUtil.cs
T
2026-04-22 09:52:55 +08:00

49 lines
1.4 KiB
C#

using System;
using Newtonsoft.Json;
public static class SerializeUtil
{
static SerializeUtil()
{
JsonConvert.DefaultSettings = new Func<JsonSerializerSettings>(() => { return DefaultUseJsonSettings; });
}
private static JsonSerializerSettings DefaultUseJsonSettings = new JsonSerializerSettings
{
Formatting = Formatting.None,
DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
DateFormatString = "yyyy/MM/dd hh:mm:ss",
};
private static JsonSerializerSettings JsonIndentedSettings = new JsonSerializerSettings
{
Formatting = Formatting.Indented,
DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
DateFormatString = "yyyy/MM/dd hh:mm:ss",
};
public static string ToJson(object obj)
{
return JsonConvert.SerializeObject(obj, DefaultUseJsonSettings);
}
public static string ToJsonIndented(object obj)
{
return JsonConvert.SerializeObject(obj, JsonIndentedSettings);
}
public static string ToJson(object obj, Type type)
{
return JsonConvert.SerializeObject(obj, type, DefaultUseJsonSettings);
}
public static string ToJson<T>(object obj)
{
return ToJson(obj, typeof(T));
}
public static T ToObject<T>(string json)
{
return JsonConvert.DeserializeObject<T>(json);
}
}