关于asp.net:如何强制netwtonsoft json序列化程序将datetime属性序列化为字符串?

how to force netwtonsoft json serializer to serialize datetime property to string?

我用的是牛顿的JSON当我序列化日期时间属性时,我得到的JSON响应为:

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

我希望它在简单的字符串中

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

当我的类属性是datetime时,如何强制将其序列化为字符串,因为我们可以添加属性以将属性名更改为

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

是否有类似的方法强制将datetime属性序列化为字符串??


从JamesNewton King在StackOverflow上制作的帖子来看,您可以做到这一点。

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

参考答案:从NewtonSoft的JSON序列化程序分析JSON日期时间

下面是json.net上的文档和日期:在JSON中序列化日期

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

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