diff --git a/src/Infrastructure/Infrastructure.csproj b/src/Infrastructure/Infrastructure.csproj index 3985359..aef7f35 100644 --- a/src/Infrastructure/Infrastructure.csproj +++ b/src/Infrastructure/Infrastructure.csproj @@ -8,4 +8,7 @@ + + + diff --git a/src/Infrastructure/Utils/SerializeExtension.cs b/src/Infrastructure/Utils/SerializeExtension.cs new file mode 100644 index 0000000..332429d --- /dev/null +++ b/src/Infrastructure/Utils/SerializeExtension.cs @@ -0,0 +1,28 @@ +using Newtonsoft.Json; +using Newtonsoft.Json.Serialization; + +namespace Infrastructure.Utils; + +public static class SerializeExtension +{ + static SerializeExtension() + { + JsonConvert.DefaultSettings = () => new JsonSerializerSettings() + { + ContractResolver = new CamelCasePropertyNamesContractResolver(), + DateFormatString = "yyyy-MM-dd HH:mm:ss", + DateTimeZoneHandling = DateTimeZoneHandling.Local, + NullValueHandling = NullValueHandling.Ignore, + ReferenceLoopHandling = ReferenceLoopHandling.Ignore + }; + } + public static string Serialize(this object obj) + { + return JsonConvert.SerializeObject(obj); + } + + public static T? Deserialize(this string json) + { + return JsonConvert.DeserializeObject(json); + } +} \ No newline at end of file