You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

报错:JsonOptions不存在SerializerSettings定义的代码问题咨询

解决ASP.NET Core中AddJsonOptions提示“JsonOptions does not contain a definition for SerializerSettings”的问题

错误原因

ASP.NET Core 3.0及以后版本,默认使用System.Text.Json作为JSON序列化组件,而你代码里用到的SerializerSettings是Newtonsoft.Json(Json.NET)专属的配置属性,直接在AddJsonOptions里调用自然会报错。

解决方案

方案1:继续使用Newtonsoft.Json(Json.NET)

  • 第一步:安装对应的NuGet包
    使用Package Manager控制台:
    Install-Package Microsoft.AspNetCore.Mvc.NewtonsoftJson
    
    或者.NET CLI命令:
    dotnet add package Microsoft.AspNetCore.Mvc.NewtonsoftJson
    
  • 第二步:修改代码,用AddNewtonsoftJson替代AddJsonOptions配置序列化设置
    builder.Services.AddMvc(options =>
    {
        options.Filters.Add<JsonExceptionFilter>();
        options.Filters.Add<RequireHttpsOrCloseAttribute>();
        options.Filters.Add<LinkRewritingFilter>();
    })
    .AddNewtonsoftJson(options =>
    {
        options.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Utc;
        options.SerializerSettings.DateFormatHandling = DateFormatHandling.IsoDateFormat;
        options.SerializerSettings.DateParseHandling = DateParseHandling.DateTimeOffset;
    });
    

方案2:改用ASP.NET Core默认的System.Text.Json

如果不想引入Newtonsoft.Json,可以直接配置System.Text.Json的JsonSerializerOptions,注意它的配置项和Json.NET有所不同,日期处理需调整对应属性或自定义转换器:

builder.Services.AddMvc(options =>
{
    options.Filters.Add<JsonExceptionFilter>();
    options.Filters.Add<RequireHttpsOrCloseAttribute>();
    options.Filters.Add<LinkRewritingFilter>();
})
.AddJsonOptions(options =>
{
    // 示例:添加UTC时间序列化转换器
    options.JsonSerializerOptions.Converters.Add(new DateTimeOffsetConverter());
    // 其他常用配置
    options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
    options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
});

注:System.Text.Json的日期处理逻辑和Json.NET有差异,若需完全对齐原有行为,可能需要编写自定义转换器。

内容的提问来源于stack exchange,提问作者CerenSusuz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 13:50:17