【问题标题】:filter json by timestamp year按时间戳年份过滤 json
【发布时间】:2015-11-01 18:41:26
【问题描述】:

我有一个 json 数组,我想在其中获取时间戳为 2015 年的所有对象。

JSON 看起来像这样

    {
  "data": [
    { "name" : "blabla",
      "address": testtest,
      "timestampt": "2015-09-01T11:58:00.0000000Z"
      },
      { "name" : "blabla2",
      "address": testtest2,
      "timestampt": "2015-10-01T11:58:00.0000000Z"
      },
      { "name" : "blabla3",
      "address": testtest3,
      "timestampt": "2014-10-01T11:58:00.0000000Z"
]}

有没有一些简单的方法可以使用 jQuery 或 js 搜索 ex 2015?

希望你能帮我解决这个问题

【问题讨论】:

  • 代码中的一些小错误:1) testtest 如果不是对对象的引用,则应该用引号引起来 2) 最后一项末尾缺少 }(之前结束])

标签: jquery json filter timestamp


【解决方案1】:

首先,您必须正确使用 JSON - 值周围的引号。然后,您可以使用Array.filter()

var json2015 = json.data.filter(function(item) {
    if (new Date(item.timestampt).getFullYear() == 2015) return item;
})      

演示 -> http://jsfiddle.net/taddow3y/

【讨论】:

    【解决方案2】:

    你可以使用filter,所以是这样的:

    json.data.filter(function(obj) {
      return new Date(obj.timestampt).getYear() === 115;
    });
    

    这是115,因为它是从 1900 年开始的年份。
    最好的。

    【讨论】:

      【解决方案3】:

      感谢您的快速回答。 我选择使用这个解决方案

      var json2015 = json.data.filter(function(item) {
          if (new Date(item.timestampt).getFullYear() == 2015) return item;
      })  
      

      只需使用选定的选项值更改 2015 :)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-24
        • 2021-06-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-17
        • 1970-01-01
        相关资源
        最近更新 更多