2015-11-01 85 views
1

我有一个JSON数组,其中我想获得的所有对象,其中时间戳是从2015年起过滤JSON

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" 
]} 

是否有寻找一些简单的方法ex 2015使用jQuery还是js?

希望你能帮助我解决这个

+1

只是在你的代码中的一些小错误: 1)'testtest'应在引号,如果它不是一个参考到一个对象 2)在最后一项(在关闭''''之前)末尾缺少'}') – Philip

回答

1

首先,你必须得到你的JSON右键 - 引用值。然后,你可以使用Array.filter()到:

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

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

1

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

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

这是115因为它是从年1900年
最佳。

0

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

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

,只是改变2015年选定的选项值:)