JavaScriptSerializer序列化时间处理示例
作者:资源驿站时间:2026-10-28 13:04:04浏览:561
本文介绍了在使用JavaScriptSerializer进行JSON序列化时,时间字段会被转换为特定格式的问题。通过示例展示了如何利用正则表达式替换被序列化的时间字符串,将其还原为标准的日期时间格式,便于前端处理。
JavaScriptSerializer时间序列化问题
在使用JavaScriptSerializer进行序列化操作时,时间字段会被转换为一串看似无意义的N进制数据。为了解决这一问题,查阅相关资料并做了以下记录。
示例数据结构
假设有一个News List<Text>类型的列表,其中包含一个Text对象,该对象具有id和date属性,例如:id=1,date='2014-03-11 00:00:00.000'。
JavaScriptSerializer serializable = new JavaScriptSerializer();
string json = serializable.Serialize(new { total = total, rows = list});
//使用正则表达式来替换被序列化的时间
json = System.Text.RegularExpressions.Regex.Replace(json, @"\\/Date\((\d+)\)\\/", match =>
{
DateTime dt = new DateTime(1970, 1, 1);
dt = dt.AddMilliseconds(long.Parse(match.Groups[1].Value));
dt = dt.ToLocalTime();
return dt.ToString("yyyy-MM-dd HH:mm:ss");
});
return json;
作者最新文章
JS中使用位运算(~~)和一元加号(+)快速转换字符串为整数
2026-11-03 22:41:12
怎么使用命令行批量格式化项目中的JS文件
2026-11-03 19:04:42
JS代码美化后报错怎么办?常见格式化冲突解决方法
2026-11-03 18:47:01
不用moment.js,怎么用原生JS Intl API格式化时间戳
2026-11-03 18:10:30
原生JS与dayjs获取当前日期的代码对比
2026-11-03 17:57:26
