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;
作者最新文章