2013-02-15 76 views
2

我需要从这种格式的格式JSON日期:docDate“:”1360905419116“,”,“inDocDate”:“1360905419116”,等。如何格式化没有/Date的JSON日期?

我的连载:

JavaScriptSerializer jsonSerializer = new JavaScriptSerializer(); 
string result = jsonSerializer.Serialize(new { 
    docDate = DateTime.Now, 
    inDocDate = DateTime.Now, 
    outDocDate = DateTime.Now }); 

结果我序列化后得到:

{"docDate":"\/Date(1360905419116)\/","inDocDate":"\/Date(1360905419116)\/","outDocDate":"\/Date(1360905419116)\/"} 

我想有

{"docDate":"1360905419116","inDocDate":"1360905419116","outDocDate":"1360905419116"} 

回答

0

您可以使用该扩展方法

public static class DateTimeExtensions 
{ 
    internal static readonly long DatetimeMinTimeTicks = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Ticks; 

    public static long ToJsTime(this DateTime dateTime) 
    { 
    return (dateTime.ToUniversalTime().Ticks - DatetimeMinTimeTicks)/10000L; 
    } 
} 

所以你代码变成:

string result = jsonSerializer.Serialize(new { 
    docDate = DateTime.Now.ToJsTime().ToString(), 
    inDocDate = DateTime.Now.ToJsTime().ToString(), 
    outDocDate = DateTime.Now.ToJsTime().ToString() });