jQuery.ajax()期望JSON数据类型的日期格式

时间:2015-08-21 16:04:29

标签: javascript jquery ajax json json-deserialization

奇怪的是我无法找到答案......

简单地说,使用jQuery.ajax()将调用属性反序列化为javascript日期的日期格式(如果有)是什么日期?

ISO 8601似乎不起作用。以下内容:2015-10-21T23:44:21.292Z2015-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
    }
  }
});

我想知道我的树种植的时间。

重复更新

这与The “right” JSON date format的问题不完全相同。虽然这个问题是有用的,但是如果有一点点的哲学(例如,花的正确颜色是什么?)。我对使用框架(在本例中为jQuery)自动将字符串解析为日期时间对象的解决方案感兴趣。这可以通过@ Neverever评论的自定义格式化程序(例如,只选择我的蓝色花朵)。我很惊讶jQuery并没有提供这种选择。

1 个答案:

答案 0 :(得分:0)

JSON本身没有datetime的标准表示。这意味着Ajax无法自动解析日期,您必须自己完成:

示例(当ISO 8601格式为tree.PlantingDate时):

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

  if (!isNaN(plantingDate)) {
    //YAY I know when my tree was planted
  }
}