有没有办法在WCF 4.0中覆盖DateTime格式的Json Seralizer

时间:2011-05-28 01:15:56

标签: c# wcf json rest

我有一个具有DateTime属性的对象,我想知道是否有办法覆盖为Json响应转换的默认格式。

1 个答案:

答案 0 :(得分:2)

不幸的是,日期格式在.NET 3.5和4.0上已得到修复。

有一种解决方法 - 它不太漂亮 - 即声明辅助属性被序列化为类型字符串,类似于下面的示例。它可以工作,但您需要为对象图中的每个DateTime属性执行此操作。

[DataContract]
public class MyType
{
    public DateTime MyDTProp { get; set; }
    [DataMember(Name = "MyDTProp")]
    private string strDate
    {
        get
        {
            return this.MyDTProp.ToString("yyyy/MM/dd");
        }
        set
        {
            this.MyDTProp = DateTime.Parse(value);
        }
    }
}