Есть ли способ переопределить Json Seralizer для формата DateTime в WCF 4.0 - PullRequest
4 голосов
/ 28 мая 2011

У меня есть объект со свойствами DateTime, мне интересно, есть ли способ переопределить формат по умолчанию, который конвертируется для ответов Json.

1 Ответ

2 голосов
/ 28 мая 2011

К сожалению, нет, формат даты исправлен в .NET 3.5 и 4.0.

Существует обходной путь - который не слишком хорош - который должен объявлять вспомогательные свойства для сериализации типа string, аналогичнок примеру ниже.Это работает, но вам нужно сделать это для каждого свойства 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);
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...