В каком формате дат jQuery.ajax() ожидает тип данных JSON

Странно, что я не могу найти ответ на этот вопрос...

Проще говоря, в каком формате даты (если таковой имеется) вызов с использованием jQuery.ajax() десериализует свойства в даты javascript?

ISO 8601, похоже, не работает. Следующие: 2015-10-21T23:44:21.292Z а также 2015-10-21T23:44:21Z оба терпят неудачу.

$.ajax({
  url: '/trees/leopardTree-01',
  dataType: 'json',
  success: function (tree) {
    if (tree.PlantingDate instanceof Date) {
      //YAY I know when my tree was planted
    }
  }
});

Я хочу знать, когда мое дерево было посажено.

Обновление на дубликате

Это не совсем тот же вопрос, что и в "правильном" формате даты JSON. Хотя этот вопрос носит информативный характер, если он немного философский (например, какой цвет подходит для цветка?). Меня интересует решение для автоматического разбора строки в объект datetime с использованием фреймворка, в данном случае jQuery. Это может быть с помощью специального средства форматирования согласно комментарию @Neverever (например, выбирайте мне только синие цветы). Я удивлен, что jQuery не предлагает такого рода вещи в качестве опции.

1 ответ

Сам JSON не имеет стандартного представления для datetime. Это означает, что Ajax не может анализировать даты автоматически, вы должны сделать это самостоятельно:

Пример (когда tree.PlantingDate в формате ISO 8601):

success: function (tree) {
  var plantingDate = new Date(tree.PlantingDate);

  if (!isNaN(plantingDate)) {
    //YAY I know when my tree was planted
  }
}
Другие вопросы по тегам