如何强制netwtonsoft json序列化程序将datetime属性序列化为string?

我正在使用Newtonsoft的Json时,我序列date时间属性我得到的JSON响应为:

..."CreatedOn":"\/Date(1317303882420+0500)\/",... 

我希望它在简单的string作为

 ..."createdOn": "2011-05-05 14:03:07", ... 

而我的类属性是DateTime,我如何强制将其作为string进行序列化,因为我们可以添加属性来将属性名称更改为

  [JsonProperty("id")] public int ProductID { get; set; } 

有没有类似的方式强制DateTime属性序列化为string?

从StackOverflow的James Newton-King发布的post看来,你可以做到这一点。

 string isoJson = JsonConvert.SerializeObject(this, new IsoDateTimeConverter()); // {"Details":"Application started.","LogDate":"2009-02-15T00:00:00Z"} 

引用的答案: 从Newtonsoft的JSON序列化程序parsingJSON DateTime

另外这里是关于Json.NET和date的文档: 以JSON序列化date

以下是使用DateTimeFormat属性自定义输出的示例:

 return JsonConvert.SerializeObject(this, Formatting.None, new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" });