/// <summary> /// Initializes a new instance of the <see cref="T:JsonSerializerSettingsWrapper" /> class. /// </summary> public JsonSerializerSettingsWrapper(JsonSerializerSettingsWrapperParameters parameters) { parameters = parameters ?? new JsonSerializerSettingsWrapperParameters(); NullValueHandling = NullValueHandling.Ignore; Formatting = parameters.Indented ? Formatting.Indented : Formatting.None; ContractResolver = new JsonContractResolverWrapper { OnCreateContract = contract => { parameters.OnCreateContract?.Invoke(contract); if(parameters.RegisterCustomContracts) { if(contract.UnderlyingType.IsEnum) { contract.Converter = new JsonEnumConverter(); } } }, OnCreateProperty = property => parameters.OnCreateProperty?.Invoke(property) }; }
/// <summary> /// Serializes the <paramref name="obj" /> to a json string using the given <paramref name="settings" />. /// </summary> public static string ToJson(this object obj, JsonSerializerSettingsWrapperParameters settings = null) => JsonConvert.SerializeObject(obj, new JsonSerializerSettingsWrapper(settings));