我正在使用Newtonsoft的Json 当我序列化日期时间属性时,我得到json响应:
..."CreatedOn":"\/Date(1317303882420+0500)\/",...
我希望它是简单的字符串
..."createdOn": "2011-05-05 14:03:07", ...
虽然我的类属性是DateTime,但我如何强制将其序列化为字符串,因为我们可以添加属性以将属性名称更改为
[JsonProperty("id")]
public int ProductID { get; set; }
是否有类似的方法强制DateTime属性序列化为字符串?
答案 0 :(得分:64)
来自James Newton-King在StackOverflow上发表的文章,看起来你可以做到这一点。
string isoJson = JsonConvert.SerializeObject(this, new IsoDateTimeConverter());
// {"Details":"Application started.","LogDate":"2009-02-15T00:00:00Z"}
参考答案: Parsing JSON DateTime from Newtonsoft's JSON Serializer
此处还有关于Json.NET和日期的文档: Serializing Dates in JSON
以下是使用DateTimeFormat
属性自定义输出的示例:
return JsonConvert.SerializeObject(this, Formatting.None, new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" });