using Newtonsoft.Json; using Newtonsoft.Json.Serialization; namespace Infrastructure.Extensions { public static class JsonExtensions { public static string ToJson(this object value, bool isCamelCase = false) { return JsonConvert.SerializeObject(value, GetSettings(isCamelCase)); } public static T FromJson(this string json) { return JsonConvert.DeserializeObject(json, GetSettings(false)); } private static JsonSerializerSettings GetSettings(bool isCamelCase) { return new JsonSerializerSettings { ContractResolver = isCamelCase ? new CamelCasePropertyNamesContractResolver() : null, ReferenceLoopHandling = ReferenceLoopHandling.Ignore }; } } }