JavaScriptSerializer序列化时间后会把时间序列化成N进制的鬼数据,于是查了下质料坐下记录
假设list = News List<Text>(){new Text(){id=1,date='2014-03-11 00:00:00.000'}}
1
2
3
4
5
6
7
8
9
10
11
|
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;
|