作为ASP.NET Core
3.0的一部分,该团队默认情况下不再包括Json.NET。您可以在有关对Microsoft.AspNetCore.App进行重大更改的公告中了解有关此内容的更多信息。
代替Json.NET,ASP.NET Core 3.0和.NET Core 3.0包括一个不同的JSON API,该API更加注重性能。您可以在有关“
.NET Core
3.0中JSON的未来”的公告中了解更多信息。
ASP.NET
Core的新模板将不再与Json.NET捆绑在一起,但是您可以轻松地重新配置项目以使用它而不是新的JSON库。这对于与较旧项目的兼容性以及对新库都不应完全替代都非常重要,因此您在此处看不到全部功能集。
为了使用Json.NET重新配置ASP.NET Core
3.0项目,您将需要添加NuGet引用
Microsoft.AspNetCore.Mvc.NewtonsoftJson,该引用是包含所有必要位的软件包。然后,在Startup的中
ConfigureServices,您将需要像这样配置MVC:
services.AddControllers() .AddNewtonsoftJson();
这将设置MVC控制器,并将其配置为使用Json.NET而不是该新API。除了控制器以外,您还可以使用其他MVC重载(例如,具有视图或Razor页面的控制器)。该
AddNewtonsoftJson方法有一个重载,使您可以像
AddJsonOptions在ASP.NET
Core 2.x中一样配置Json.NET选项。
services.AddControllers() .AddNewtonsoftJson(options => { options.SerializerSettings.ContractResolver = new DefaultContractResolver(); });


