namespace Kit.Helpers { using Newtonsoft.Json; using System.Threading.Tasks; public static class JsonHelper { public static System.Text.Json.JsonSerializerOptions GlobalJsonSettings = new System.Text.Json.JsonSerializerOptions { PropertyNameCaseInsensitive = false, }; public static TObject JsonDeserialize(this string json) { if (json == null || string.IsNullOrWhiteSpace(json)) return default(TObject); return JsonConvert.DeserializeObject(json, new JsonSerializerSettings { DateFormatHandling = DateFormatHandling.IsoDateFormat }); } public static string JsonSerialize(this TObject serializeObject) { if (serializeObject == null) return "{}"; return JsonConvert.SerializeObject(serializeObject, new JsonSerializerSettings { DateFormatHandling = DateFormatHandling.IsoDateFormat }); } public static async Task JsonDeserialize(this Task task) { string json = await task.ConfigureAwait(false); return await Task.Run(() => json.JsonDeserialize()).ConfigureAwait(false); } } }