System.Text.Json 自定义Converter实现时间转换
2021-04-25 20:29
标签:方式 comment space utf8 convert oop sys date arp 方式设置接收/序列化时间格式,但在.net core 3.1中System.Text.Json是没有自带方式进行转换,这就需要自定义Converter实现时间转换 .netcore 3.1中接收的json中不能将 System.Text.Json 自定义Converter实现时间转换 标签:方式 comment space utf8 convert oop sys date arp 原文地址:https://www.cnblogs.com/WNpursue/p/12227929.htmlNewtonsoft.Json与System.Text.Json区别
在 Newtonsoft.Json中可以使用例如
.AddJsonOptions(options =>
{
options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
})
官方GitHub地址自定义DateTimeJsonConverter
public class DateTimeJsonConverter : JsonConverter
JsonTokenType枚举类型共有以下几种
///
services.AddMvc 中 Newtonsoft.Json与System.Text.Json 配置区别
.netcore 2.1
services
//全局配置Json序列化处理
.AddJsonOptions(options =>
{
//忽略循环引用
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
//不使用驼峰样式的key
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
//设置时间格式
options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
})
.netcore 3.1
services.AddControllers()
.AddJsonOptions(options =>
{
//设置时间格式
options.JsonSerializerOptions.Converters.Add(new DateTimeJsonConverter("yyyy-MM-dd HH:mm:ss"));
//设置bool获取格式
options.JsonSerializerOptions.Converters.Add(new BoolJsonConverter());
//不使用驼峰样式的key
options.JsonSerializerOptions.PropertyNamingPolicy = null;
//不使用驼峰样式的key
options.JsonSerializerOptions.DictionaryKeyPolicy = null;
//获取或设置要在转义字符串时使用的编码器
options.JsonSerializerOptions.Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping;
});
bool型转换问题
"true"/"false"
识别为boolean的True/False,这也需要自定义Converter实现bool转换namespace Kdniao.Core.Utility
{
public class BoolJsonConverter : JsonConverter
上一篇:js数据类型
文章标题:System.Text.Json 自定义Converter实现时间转换
文章链接:http://soscw.com/index.php/essay/79515.html