diff --git a/KfChatDotNetBot/Settings/Utils.cs b/KfChatDotNetBot/Settings/Utils.cs index 3851166..f32cdce 100644 --- a/KfChatDotNetBot/Settings/Utils.cs +++ b/KfChatDotNetBot/Settings/Utils.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using NLog; namespace KfChatDotNetBot.Settings; @@ -10,15 +11,14 @@ public static class Utils return settingValue.Value.Split(separator).ToList(); } - public static Dictionary ToKeyValuePairs(this SettingValue settingValue, char delimiter = ',', - char separator = '=') + public static T? JsonDeserialize(this SettingValue settingValue) { if (settingValue.Value == null) { - return new Dictionary(); + return default; } - return settingValue.Value.Split(delimiter).ToDictionary(kv => kv.Split(separator)[0], - kv => ValueToType(kv.Split(separator)[1])); + + return JsonSerializer.Deserialize(settingValue.Value) ?? default(T); } public static bool ToBoolean(this SettingValue settingValue)