.NET Core 3.0 中 AddJsonOptions
方法的移除及 JSON 序列化配置方法
从 .NET Core 2.0 升级到 3.0 后,开发者发现 IMvcBuilder
接口中缺少了 AddJsonOptions
扩展方法。本文将解释移除该方法的原因,并介绍推荐的替代配置机制。
Json.NET 与 ASP.NET Core 3.0 的变化
过去,ASP.NET Core 默认使用 Json.NET 作为 JSON 序列化库。然而,在 3.0 版本中,框架默认不再使用 Json.NET,转而引入一个新的、性能优化的 JSON API。
新的配置机制
要在 .NET Core 3.0 中继续使用 Json.NET,开发者需要添加 Microsoft.AspNetCore.Mvc.NewtonsoftJson
NuGet 包的引用。然后,在 Startup
类中,修改 MVC 配置如下:
<code class="language-csharp">services.AddControllers() .AddNewtonsoftJson();</code>
此配置将启用 MVC 控制器使用 Json.NET,AddNewtonsoftJson
方法提供重载,允许开发者定义自定义 Json.NET 选项,类似于早期版本中的 AddJsonOptions
方法。例如:
<code class="language-csharp">services.AddControllers() .AddNewtonsoftJson(options => { options.SerializerSettings.ContractResolver = new DefaultContractResolver(); });</code>
总而言之,尽管 AddJsonOptions
方法在 .NET Core 3.0 中不再可用,但开发者可以通过安装 NuGet 包并更新 Startup
类中的 MVC 配置来轻松重新引入 Json.NET。这确保了与旧项目的兼容性,并能够访问 Json.NET 的全部功能。
以上是.NET Core 3.0 中的'AddJsonOptions”发生了什么以及现在如何配置 JSON 序列化?的详细内容。更多信息请关注PHP中文网其他相关文章!