В каком формате дат 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
}
}