C# Json 序列化 反序列化,一个有趣的配置

2022年11月19日 1160点热度 1人点赞 0条评论
内容纲要

从 ServerlessWorkflow 中学习到一个有趣的 NewtonsoftJson 配置。

            var newtonsoftJsonDefaultConfig = (JsonSerializerSettings settings) =>
            {
                settings.ContractResolver = new NonPublicSetterContractResolver();
                settings.NullValueHandling = NullValueHandling.Ignore;
                settings.DefaultValueHandling = DefaultValueHandling.Ignore;
            };
            var defaultSettings = JsonConvert.DefaultSettings;
            JsonConvert.DefaultSettings = () =>
            {
                var settings = defaultSettings?.Invoke();
                if (settings == null)
                    settings = new();
                newtonsoftJsonDefaultConfig(settings);
                return settings;
            };
            services.AddNewtonsoftJsonSerializer(options =>
            {
                newtonsoftJsonDefaultConfig(options);
            });

痴者工良

高级程序员劝退师

文章评论