我正在尝试从json文件中恢复数据并将其显示在morris linear chart
中。
在我显示数据之前,我正试图测试是否在alert
测试中收到了数据。
这是代码:
$.ajax({
type: 'GET',
contentType : 'application/json',
dataType: 'JSON',
url: 'json', // getchart.php
data: "",
success: function(json) {
$.getScript('http://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js',function(){
$.getScript('http://cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.0/morris.min.js',function(){
Morris.Line({
element: 'line-example',
data: [for (var i=0;i<json.length;i++){
var obj=json[i];
for (var key in obj){
alert obj[key];}
}
],
xkey: 'year',
ykeys: ['value'],
labels: ['Value']
});
});
});
}
});
这是ajax回复:
[{"time":"11:01:00","val1":123,"val2":124,"val3":11,"val4":140,"val5":100},
{"time":"11:11:00","val1":140,"val2":100,"val3":13,"val4":100,"val5":120}]
但我在Chrome控制台中有“意外令牌”?
答案 0 :(得分:0)
循环返回数组的方法是使用本机Array#forEach
。
如果要转换返回的json对象数组,可以使用Array#map
,如果要返回完全不同的类型,请使用Array#reduce
作为示例,数据可以是像[[val1,val2], [val1, val2]]
data = json.map(function(item){ return [item.val1, item.val2]; })
data = json.map( item => [item.val1, item.val2] )
Morris.Line({
element: 'line-example',
data: data,
xkey: 'year',
ykeys: ['value'],
labels: ['Value']
})