/// <summary> /// 创建序列化配置 /// </summary> /// <param name="options">格式化选项</param> /// <returns></returns> protected virtual JsonSerializerSettings CreateSerializerSettings(FormatOptions options) { var useCamelCase = options?.UseCamelCase == true; return(new JsonSerializerSettings { DateFormatString = options?.DateTimeFormat, ContractResolver = AnnotationsContractResolver.GetResolver(FormatScope.BsonFormat, useCamelCase) }); }
/// <summary> /// 转换为序列化配置项 /// </summary> /// <param name="options">格式化选项</param> /// <param name="formatScope">序列化范围</param> /// <returns></returns> public static JsonSerializerSettings ToSerializerSettings(this FormatOptions options, FormatScope formatScope) { var useCamelCase = options == null ? false : options.UseCamelCase; var contractResolver = AnnotationsContractResolver.GetResolver(formatScope, useCamelCase); var settings = new JsonSerializerSettings { ContractResolver = contractResolver }; if (options != null) { settings.DateFormatString = options.DateTimeFormat; settings.NullValueHandling = options.IgnoreNullProperty ? NullValueHandling.Ignore : NullValueHandling.Include; } return(settings); }