首页 >后端开发 >C++ >为什么 ASP.NET Core 3.0 中缺少'IMvcBuilder.AddJsonOptions”以及如何配置 JSON 序列化?

为什么 ASP.NET Core 3.0 中缺少'IMvcBuilder.AddJsonOptions”以及如何配置 JSON 序列化?

Patricia Arquette
Patricia Arquette原创
2025-01-23 01:36:09541浏览

Why is `IMvcBuilder.AddJsonOptions` Missing in ASP.NET Core 3.0 and How Can I Configure JSON Serialization?

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:

  1. 安装 Microsoft.AspNetCore.Mvc.NewtonsoftJson NuGet 包。
  2. Startup.cs 文件的 ConfigureServices 方法中添加以下代码:
<code class="language-csharp">services.AddControllers()
    .AddNewtonsoftJson();</code>
  1. 配置 Json.NET 选项:
<code class="language-csharp">services.AddControllers()
    .AddNewtonsoftJson(options =>
    {
        options.SerializerSettings.ContractResolver = new DefaultContractResolver();
    });</code>

以上是为什么 ASP.NET Core 3.0 中缺少'IMvcBuilder.AddJsonOptions”以及如何配置 JSON 序列化?的详细内容。更多信息请关注PHP中文网其他相关文章!

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