Веб-сервис Json.net / ASP.NET - Как вернуть и разобрать даты? - PullRequest
1 голос
/ 10 августа 2010

После долгих размышлений о том, почему моя возвращенная строка Json нарушает JSON.parse, я понял, что возвращаемые даты ему не нравятся.

.net свойство: -

    [JsonProperty("start")]
    [JsonConverter(typeof(JavaScriptDateTimeConverter))]
    public DateTime Start
    {
        get { return _start; }
        set { _start = value; }
    }

Вывод строки Json из веб-службы: -

"{\"id\":9815,\"start\":new Date(1286535600000),\"end\":new Date(1286537400000),\"title\":\"Title of meeting\",\"owner\":\"D\",\"contactdetails\":\"David\",\"room\":{\"title\":\"Small Meeting Room\",\"id\":2}}"

Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 10 августа 2010

Спасибо за ответ, Джеймс. В конце я использовал другой конвертер с Json.net, и все, кажется, работает как запланировано. По сути, он возвращает отформатированную строку даты, но я могу украсить текущее свойство DateTime вместо использования строки в моем классе .net: -

    [JsonProperty("start")]
    [JsonConverter(typeof(IsoDateTimeConverter))]
    public DateTime Start
    {
        get { return _start; }
        set { _start = value; }
    }
0 голосов
/ 10 августа 2010

Я склонен возвращать даты в виде строк, поэтому просто сделайте:

new Date(1286535600000).toString("MM/dd/yyyy"), например.

Итак, вы можете захотеть, чтобы ваше свойство имело геттер, который возвращает строкутак что вы можете отформатировать его, и, возможно, сеттер также должен быть строкой, чтобы упростить то, что передается взад-вперед со страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...