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中文網其他相關文章!