首页 > 解决方案 > 每个程序集的 Newtonsoft JSON 默认设置

问题描述

为了自动修剪所有输入字符串并删除新行,我开发了一个实现JsonConverter<string>并将其注册Startup

JsonConvert.DefaultSettings = () => new JsonSerializerSettings
{
    Converters = new List<JsonConverter>
    {
        new StringTrimmer()
    }
};

这可行,但字符串修剪器会对第三方程序集产生负面影响。有没有办法可以将默认设置范围限定为我的应用程序程序集,或者使用 注册一个实例JsonConvert.Create(mySettings)?还是有另一种方法可以在没有 JsonConvert 的情况下自动修剪所有输入?

标签: asp.net-web-apiasp.net-corejson.net

解决方案


如果您只关心更改 ASP.NET Core 序列化 JSON 的方式,那么您可以JsonSerializerSettings使用以下命令显式配置 MVC 框架AddJsonOptions

services.AddMvc()
    .AddJsonOptions(options =>
    {
        options.SerializerSettings.Converters.Add(new StringTrimmer());
    });

推荐阅读