一切福田,不離方寸,從心而覓,感無不通。

Asp.Net Core3.1 设置时间序列化格式,自定义时间格式,设置属性忽略 设置属性别名

在.Net Core 3.X版本下默认使用的是System.Text.Json来序列化的

System.Text.Json 命名空间提供高性能、低分配以及符合标准的功能来处理 JavaScript 对象表示法 (JSON),其中包括将对象序列化为 JSON 文本以及将 JSON 文本反序列化为对象(内置 UTF-8 支持)。 它还提供类型以用于读取和写入编码为 UTF-8 的 JSON 文本,以及用于创建内存中文档对象模型 (DOM) 以在数据的结构化视图中随机访问 JSON 元素。

Controllers配置:

Controller如下:

 

输出Json:

可以看到默认没标记的DateTime输出格式为yyyy-MM-dd HH:mm:ss,因为配置了默认的JsonConverter(DateTimeConverter)

DateNow输出格式为yyyy-MM-dd HH:mm:ss.fff 配置了自定义的JsonConverter(MillisecondTimeConverter)

Date输出格式为yyyy-MM-dd 配置了自定义的JsonConverter(DateConverter)

Time设置了[System.Text.Json.Serialization.JsonIgnore] 序列化不输出

Now设置了[System.Text.Json.Serialization.JsonPropertyName(name: "TimeNow")] 序列化输出的属性名为TimeNow

附自定义的JsonConverter代码

参考文档:

System.Text.Json https://docs.microsoft.com/zh-cn/dotnet/api/system.text.json?view=netcore-3.0
System.Text.Json.Serialization
https://docs.microsoft.com/zh-cn/dotnet/api/system.text.json.serialization?view=netcore-3.0
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_27559331/article/details/107571781