如何从 JSON 按月获取数据
How to get data by month from JSON
我有这个JSON:
[{"id":66,"price":56,"start":"Fri, 20 May 2016 00:00:00 +0000","user_id":8},{"id":65,"price":55.5,"start":"Wed, 18 May 2016 00:00:00 +0000","user_id":8},{"id":64,"price":55.5,"start":"Fri, 13 May 2016 00:00:00 +0000","user_id":8},{"id":63,"price":55.5,"start":"Thu, 12 May 2016 00:00:00 +0000","user_id":8},{"id":62,"price":55,"start":"Fri, 22 Apr 2016 00:00:00 +0000","user_id":8},{"id":61,"price":55.5,"start":"Thu, 28 Apr 2016 00:00:00 +0000","user_id":8},{"id":60,"price":54.5,"start":"Thu, 21 Apr 2016 00:00:00 +0000","user_id":8},{"id":59,"price":55,"start":"Wed, 20 Apr 2016 00:00:00 +0000","user_id":8}]
我使用以下数据创建 html:
function draw(data) {
$.each(data, function(idx, obj) {
$('#bid').append('<div class="row"><div class="col-md-2"><h5>'+obj.price+'</h5></div></div>');
});
};
但现在我只需要显示当月的数据...
我如何才能从 JSON 等获取仅四月份的数据?
如何只过滤我需要的月份?
您可以使用类似 indexOf
的内容:
var data = [{"id":66,"price":56,"start":"Fri, 20 May 2016 00:00:00 +0000","user_id":8},{"id":65,"price":55.5,"start":"Wed, 18 May 2016 00:00:00 +0000","user_id":8},{"id":64,"price":55.5,"start":"Fri, 13 May 2016 00:00:00 +0000","user_id":8},{"id":63,"price":55.5,"start":"Thu, 12 May 2016 00:00:00 +0000","user_id":8},{"id":62,"price":55,"start":"Fri, 22 Apr 2016 00:00:00 +0000","user_id":8},{"id":61,"price":55.5,"start":"Thu, 28 Apr 2016 00:00:00 +0000","user_id":8},{"id":60,"price":54.5,"start":"Thu, 21 Apr 2016 00:00:00 +0000","user_id":8},{"id":59,"price":55,"start":"Wed, 20 Apr 2016 00:00:00 +0000","user_id":8}];
$.each(data, function(idx, obj) {
if(obj.start.toString().indexOf('Apr') > -1){
$('#bid').append('<div class="row"><div class="col-md-2"><h5>'+obj.price+'</h5></div></div>');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="bid"></div>
$.each(data, function(idx, obj) {
if(obj.start.toString().indexOf('Apr') > -1){
$('#bid').append('<div class="row"><div class="col-md-2"><h5>'+obj.price+'</h5></div></div>');
}
});
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf
或者您可以检查 json start
当前月份,例如:
var currentMonth = new Date();//current date
$.each(data, function(idx, obj) {
var d = new Date(obj.start);//json date
//compare json month with current month and if is equal append price
if (d.getMonth() === currentMonth.getMonth()) {
$('#bid').append('<div class="row"><div class="col-md-2"><h5>' + obj.price + '</h5></div></div>');
}
});
var data = [{
"id": 66,
"price": 56,
"start": "Fri, 20 May 2016 00:00:00 +0000",
"user_id": 8
}, {
"id": 65,
"price": 55.5,
"start": "Wed, 18 May 2016 00:00:00 +0000",
"user_id": 8
}, {
"id": 64,
"price": 55.5,
"start": "Fri, 13 May 2016 00:00:00 +0000",
"user_id": 8
}, {
"id": 63,
"price": 55.5,
"start": "Thu, 12 May 2016 00:00:00 +0000",
"user_id": 8
}, {
"id": 62,
"price": 55,
"start": "Fri, 22 Apr 2016 00:00:00 +0000",
"user_id": 8
}, {
"id": 61,
"price": 55.5,
"start": "Thu, 28 Apr 2016 00:00:00 +0000",
"user_id": 8
}, {
"id": 60,
"price": 54.5,
"start": "Thu, 21 Apr 2016 00:00:00 +0000",
"user_id": 8
}, {
"id": 59,
"price": 55,
"start": "Wed, 20 Apr 2016 00:00:00 +0000",
"user_id": 8
}];
var currentMonth = new Date();//current date
$.each(data, function(idx, obj) {
var d = new Date(obj.start);//json date
//compare json month with current month and if is equal append price
if (d.getMonth() === currentMonth.getMonth()) {
$('#bid').append('<div class="row"><div class="col-md-2"><h5>' + obj.price + '</h5></div></div>');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="bid"></div>
参考资料
我有这个JSON:
[{"id":66,"price":56,"start":"Fri, 20 May 2016 00:00:00 +0000","user_id":8},{"id":65,"price":55.5,"start":"Wed, 18 May 2016 00:00:00 +0000","user_id":8},{"id":64,"price":55.5,"start":"Fri, 13 May 2016 00:00:00 +0000","user_id":8},{"id":63,"price":55.5,"start":"Thu, 12 May 2016 00:00:00 +0000","user_id":8},{"id":62,"price":55,"start":"Fri, 22 Apr 2016 00:00:00 +0000","user_id":8},{"id":61,"price":55.5,"start":"Thu, 28 Apr 2016 00:00:00 +0000","user_id":8},{"id":60,"price":54.5,"start":"Thu, 21 Apr 2016 00:00:00 +0000","user_id":8},{"id":59,"price":55,"start":"Wed, 20 Apr 2016 00:00:00 +0000","user_id":8}]
我使用以下数据创建 html:
function draw(data) {
$.each(data, function(idx, obj) {
$('#bid').append('<div class="row"><div class="col-md-2"><h5>'+obj.price+'</h5></div></div>');
});
};
但现在我只需要显示当月的数据... 我如何才能从 JSON 等获取仅四月份的数据? 如何只过滤我需要的月份?
您可以使用类似 indexOf
的内容:
var data = [{"id":66,"price":56,"start":"Fri, 20 May 2016 00:00:00 +0000","user_id":8},{"id":65,"price":55.5,"start":"Wed, 18 May 2016 00:00:00 +0000","user_id":8},{"id":64,"price":55.5,"start":"Fri, 13 May 2016 00:00:00 +0000","user_id":8},{"id":63,"price":55.5,"start":"Thu, 12 May 2016 00:00:00 +0000","user_id":8},{"id":62,"price":55,"start":"Fri, 22 Apr 2016 00:00:00 +0000","user_id":8},{"id":61,"price":55.5,"start":"Thu, 28 Apr 2016 00:00:00 +0000","user_id":8},{"id":60,"price":54.5,"start":"Thu, 21 Apr 2016 00:00:00 +0000","user_id":8},{"id":59,"price":55,"start":"Wed, 20 Apr 2016 00:00:00 +0000","user_id":8}];
$.each(data, function(idx, obj) {
if(obj.start.toString().indexOf('Apr') > -1){
$('#bid').append('<div class="row"><div class="col-md-2"><h5>'+obj.price+'</h5></div></div>');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="bid"></div>
$.each(data, function(idx, obj) {
if(obj.start.toString().indexOf('Apr') > -1){
$('#bid').append('<div class="row"><div class="col-md-2"><h5>'+obj.price+'</h5></div></div>');
}
});
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf
或者您可以检查 json start
当前月份,例如:
var currentMonth = new Date();//current date
$.each(data, function(idx, obj) {
var d = new Date(obj.start);//json date
//compare json month with current month and if is equal append price
if (d.getMonth() === currentMonth.getMonth()) {
$('#bid').append('<div class="row"><div class="col-md-2"><h5>' + obj.price + '</h5></div></div>');
}
});
var data = [{
"id": 66,
"price": 56,
"start": "Fri, 20 May 2016 00:00:00 +0000",
"user_id": 8
}, {
"id": 65,
"price": 55.5,
"start": "Wed, 18 May 2016 00:00:00 +0000",
"user_id": 8
}, {
"id": 64,
"price": 55.5,
"start": "Fri, 13 May 2016 00:00:00 +0000",
"user_id": 8
}, {
"id": 63,
"price": 55.5,
"start": "Thu, 12 May 2016 00:00:00 +0000",
"user_id": 8
}, {
"id": 62,
"price": 55,
"start": "Fri, 22 Apr 2016 00:00:00 +0000",
"user_id": 8
}, {
"id": 61,
"price": 55.5,
"start": "Thu, 28 Apr 2016 00:00:00 +0000",
"user_id": 8
}, {
"id": 60,
"price": 54.5,
"start": "Thu, 21 Apr 2016 00:00:00 +0000",
"user_id": 8
}, {
"id": 59,
"price": 55,
"start": "Wed, 20 Apr 2016 00:00:00 +0000",
"user_id": 8
}];
var currentMonth = new Date();//current date
$.each(data, function(idx, obj) {
var d = new Date(obj.start);//json date
//compare json month with current month and if is equal append price
if (d.getMonth() === currentMonth.getMonth()) {
$('#bid').append('<div class="row"><div class="col-md-2"><h5>' + obj.price + '</h5></div></div>');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="bid"></div>
参考资料