ASP.NET Core 3.0 中 IMvcBuilder.AddJsonOptions 方法缺失及 JSON 序列化配置方案
问题描述
将 ASP.NET Web API 项目从 .NET Core 2.0 升级到 3.0 后,使用 IMvcBuilder.AddJsonOptions
会报错,提示 IMvcBuilder
不再包含此扩展方法。
解决方案
采用新的 JSON API
ASP.NET Core 3.0 默认已不再使用 Json.NET,转而采用新的高性能 JSON API。
重新配置 Json.NET (可选)
为了与旧项目兼容,您可以重新配置项目使用 Json.NET:
Microsoft.AspNetCore.Mvc.NewtonsoftJson
NuGet 包。Startup.cs
文件的 ConfigureServices
方法中添加以下代码:<code class="language-csharp">services.AddControllers() .AddNewtonsoftJson();</code>
<code class="language-csharp">services.AddControllers() .AddNewtonsoftJson(options => { options.SerializerSettings.ContractResolver = new DefaultContractResolver(); });</code>
以上是为什么 ASP.NET Core 3.0 中缺少'IMvcBuilder.AddJsonOptions”以及如何配置 JSON 序列化?的详细内容。更多信息请关注PHP中文网其他相关文章!