我正在學習JSON,所以我有點困惑與數據格式,數組,對象和字符串。如何將Json數據格式化爲期望的格式並循環遍歷?
首先,我需要這種格式的數據(在jQuery頁面中)。這個對象還是數組?
var data = [[2015-10-29 11:35:33, 315.71], [2015-10-29 11:36:33, 317.45], [2015-10-29 11:38:52, 317.50], [2015-10-29 11:42:08, 315.86], [2015-10-29 11:43:32, 314.93], [2015-10-29 11:50:00, 313.19], [2015-10-29 11:35:33, 313.34]];
但是我卻越來越喜歡這個(在PHP頁面)。這是字符串嗎?
var data = [{"bv ":"27590","datey ":"2015-10-29 11:35:33"},{"bv ":"27590","datey ":"2015-10-29 11:36:33"},{"bv ":"27590","datey ":"2015-10-29 11:37:31"},{"bv ":"27590","datey ":"2015-10-29 11:38:34"},{"bv ":"27590","datey ":"2015-10-29 11:38:52"},{"bv ":"27590","datey ":"2015-10-29 11:39:15"},{"bv ":"27590","datey ":"2015-10-29 11:42:08"},{"bv ":"27590","datey ":"2015-10-29 11:42:48"},{"bv ":"27590","datey ":"2015-10-29 11:43:32"},{"bv ":"27590","datey ":"2015-10-29 11:50:00"}];
當我收到data
(從PHP頁面如上)在通過AJAX jQuery的頁面,
SO我收到的,我想正確的格式數據[[2015-10-29 11:35:33, 315.71], [2015-10-29 11:36:33, 317.45]]
以及如何迭代這組數據?
有人幫助我理解這裏涉及的數據格式和遍歷它們的方式。
我想:
1)
for(i=0; i < data.length; i++)
{
alert(data.[i].datey);//says undefined
}
2)
$.each(data, function(i, item) {
alert(data[i].datey);//doesn't show any alert
})
這是我的AJAX和PHP腳本,供大家參考:
$(function(){
var data;
$.ajax({
dataType: "json",
url: 'query_sales.php',
success: function(data){
alert(data);
/*$.each(data, function(i, item) {
alert(data[i].datey);
});*/
}//close success
});//close ajax
});//close function
PHP腳本:
$acceptedUser = new search();
$sales = $acceptedUser->get_sales_graph();
$before = array();
foreach($sales as $k=>$v)
{
array_push($before,array("bv "=>$v['total_bv'],"datey "=>$v['as_of_date']));
}
echo json_encode($before);
'2015年10月29日11:35:33'數組中會導致錯誤。 – Jai
你試過'$ .each'的部分你試過'alert(item.datey)'嗎? – roullie
@roullie,我喜歡,警報(data [i] .datey); – 112233