首页 >后端开发 >C++ >.NET Core 3.0 中的'AddJsonOptions”发生了什么以及现在如何配置 JSON 序列化?

.NET Core 3.0 中的'AddJsonOptions”发生了什么以及现在如何配置 JSON 序列化?

Patricia Arquette
Patricia Arquette原创
2025-01-23 01:22:081043浏览

What Happened to `AddJsonOptions` in .NET Core 3.0 and How Do I Configure JSON Serialization Now?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn