asp.netcore6如何更新json序列化选项,json序列化中的日期格式

xoshrz7s  于 2023-03-24  发布在  .NET
关注(0)|答案(1)|浏览(375)

我为这个愚蠢的问题道歉,但我没有看到一个很好的例子,说明如何在.net core 6的JSON序列化中为DateTime指定特定格式。
老办法,净芯3.

// in the ConfigureServices()
services.AddControllers()
    .AddJsonOptions(options =>
     {
         options.JsonSerializerOptions.Converters.Add(new DateTimeConverter());
     });

官网上有一个例子https://learn.microsoft.com/en-us/dotnet/standard/datetime/system-text-json-support

JsonSerializerOptions options = new JsonSerializerOptions();
options.Converters.Add(new DateTimeConverterForCustomStandardFormatR());


但我如何将其连接到DI,以便在控制器中使用?

5cg8jx4n

5cg8jx4n1#

我们可以尝试使用builder.Services.Configure<JsonOptions>在.net core 6的DI容器中设置Serializer设置
JsonOptions让我们配置JSON序列化设置,这可能会代替AddJsonOptions方法。
JsonOptions可能使用与源代码中DI中的JsonOptions对象相同的对象。

using Microsoft.AspNetCore.Http.Json;

builder.Services.Configure<JsonOptions>(options =>
{
    options.SerializerOptions.Converters.Add(new DateTimeConverterForCustomStandardFormatR());
});

我认为这个变化是基于微软想要在.net 6中引入minimal web API with ASP.NET Core
最小API的架构旨在创建具有最小依赖关系的HTTP API。它们非常适合希望在ASP.NET Core中仅包含最少文件,功能和依赖关系的微服务和应用程序。

相关问题