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