如何强制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" });