JavaScriptSerializer序列化时间处理示例

作者:资源驿站

时间:2026-10-28

浏览:560

本文介绍了在使用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;

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章