Files
mixtape/zero.Core/Options/BackofficeJsonSerlializerSettings.cs
T
2020-10-12 13:18:25 +02:00

29 lines
895 B
C#

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Serialization;
using zero.Core.Utils;
namespace zero.Core.Options
{
public class BackofficeJsonSerlializerSettings : JsonSerializerSettings
{
public BackofficeJsonSerlializerSettings() : this(false) { }
public BackofficeJsonSerlializerSettings(bool typed)
{
Setup(this, typed);
}
public static void Setup(JsonSerializerSettings settings, bool typed = false)
{
settings.Converters.Add(new StringEnumConverter(new CamelCaseNamingStrategy()));
settings.Converters.Add(new RefJsonConverter());
settings.ContractResolver = new ZeroJsonContractResolver();
settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
settings.TypeNameHandling = TypeNameHandling.Objects;
//settings.SerializationBinder = new ZeroInterfaceBinder();
}
}
}