Esempio n. 1
0
        /// <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)
            });
        }
Esempio n. 2
0
        /// <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);
        }