Newtonsoft.net转换日期、时间数据时出现(/Date()/)的问题

使用.Net控件Newtonsoft做对象或对象集合转Json时,默认Newtonsoft对时间做了一些处理,是使用 /Date(1237588418563+0000)/ 的格式输出,而且还带有时区的问题。

其实Newtonsoft是给了我们选择的,在做Json转换时需要加一些参数,以下是代码


    public class LogEntry
    {
        public string Details { get; set; }
        public DateTime LogDate { get; set; }
    }
    public void WriteJsonDates()
    {
        LogEntry entry = new LogEntry
        {
            LogDate = new DateTime(2009, 2, 15, 0, 0, 0, DateTimeKind.Utc),
            Details = "Application started."
        };
        string defaultJson = JsonConvert.SerializeObject(entry);//这是默认输出格式    
        // {"Details":"Application started.","LogDate":"\/Date(1234656000000)\/"}     
        string javascriptJson = JsonConvert.SerializeObject(entry, new JavaScriptDateTimeConverter());//JavaScript输出    
        // {"Details":"Application started.","LogDate":new Date(1234656000000)}
        string isoJson = JsonConvert.SerializeObject(entry, new IsoDateTimeConverter());
        // {"Details":"Application started.","LogDate":"2009-02-15T00:00:00Z"}    
    }



你可能感兴趣的:(JSON.NET,【,ASP.NET,】,【ASP.NET,AJAX】)