Json.net默认的时间格式化后带T,不符合一般的业务要求,重新设置JSON.NET的默认日期格式化方式,代码如下:
/// <summary> /// Json.net默认转换设置 /// </summary> private static void DefaultJsonConvertSetting() { JsonSerializerSettings setting = new JsonSerializerSettings(); JsonConvert.DefaultSettings = new Func<JsonSerializerSettings>(() => { //日期类型默认格式化处理 setting.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat; setting.DateFormatString = "yyyy-MM-dd HH:mm:ss"; //空值处理 //setting.NullValueHandling = NullValueHandling.Ignore; return setting; }); }
下面看下Json.Net 使用属性定义日期的序列化格式
如果一个实体类里所有的时间即DateTime类型的字段,都处理成统一格式的话,可以使用如下方式:
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter(); timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; JsonConvert.SerializeObject(stu, Newtonsoft.Json.Formatting.Indented, timeFormat);
如果需要返回的格式不一致,比如有的需要年月日,有的是年月日时分秒,则这样控制不了。可以通过定义属性来解决
public class student { public string Name { get; set; } public int Age { get; set; } [JsonConverter(typeof(DateFormat))] public DateTime BirthDay { get; set; } [JsonConverter(typeof(DateTimeFormat))] public DateTime CreateTime { get; set; } } public class DateFormat:IsoDateTimeConverter { public DateFormat() { base.DateTimeFormat = "yyyy-MM-dd"; } } public class DateTimeFormat:IsoDateTimeConverter { public DateTimeFormat() { base.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; } }
实例演示:
student stu = new student() { Name = "张三", Age = , BirthDay = new DateTime(, , ), CreateTime = DateTime.Now }; string result = JsonConvert.SerializeObject(stu); result = {"Name":"张三","Age":30,"BirthDay":"1986-07-16","CreateTime":"2016-01-16 23:13:34"}
这样控制的粒度更细了
总结
以上所述是小编给大家介绍的Json.net日期格式化设置方式,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。