Javascript JSON解析后不工作
我需要得到图形生成从Mysql数据库与PHP的帮助。我从()得到了很好的申请。因此,我在PHP会话的变量元素中创建了自己的JSON格式。调试时它没有给我错误,但没有结果 第34-37行给出了我不评论它们的图表。当注释它们并替换为我自己的JSON时,JSON是变量元素,不会给我图形。给了我空白页 我是JSON新手。帮我解决这个问题 以下是我的代码Javascript JSON解析后不工作,javascript,php,json,Javascript,Php,Json,我需要得到图形生成从Mysql数据库与PHP的帮助。我从()得到了很好的申请。因此,我在PHP会话的变量元素中创建了自己的JSON格式。调试时它没有给我错误,但没有结果 第34-37行给出了我不评论它们的图表。当注释它们并替换为我自己的JSON时,JSON是变量元素,不会给我图形。给了我空白页 我是JSON新手。帮我解决这个问题 以下是我的代码 var array = <?php echo json_encode($_SESSION["r_array"]); ?>; var cou
var array = <?php echo json_encode($_SESSION["r_array"]); ?>;
var count = 0;
var element = '';
var title = 'Malware lab, TCRC, CTA';
for( var i in array) {
if ( count == 0 ) {
element += ‘{y: ‘+array[i]+’,’+’ indexLabel: “‘+i+'”}';
} else {
element += ‘, {y: ‘+array[i]+’,’+’ indexLabel: “‘+i+'”}';
}
count++;
}
var chart = new CanvasJS.Chart(“chartContainer”,
{
title: {
text: title
},
data: [
{ type: type,
dataPoints: [
/*
34 {y: 2, indexLabel: “Kaka'”},
35 {y: 3, indexLabel: “Blackberry”},
36 {y: 1, indexLabel: “Windows Phone”},
37 {y: 5, indexLabel: “Others”},*/
element,
]
}
]
});
chart.render();
Dumped array of $_SESSION["r_array"] as following
Array (
[Trojan] => 1
[Malware] => 3
[Backdoor] => 6
[Virus] => 2
[Bot] => 5
[Rootkit] => 7
[Worm] => 5
)
var数组=;
var计数=0;
var元素=“”;
var title=‘恶意软件实验室、TCRC、CTA’;
for(数组中的变量i){
如果(计数=0){
元素+='{y:'+array[i]+','+'索引标签:'+i+''}';
}否则{
元素+=',{y:'+array[i]+','+'索引标签:'+i+''}';
}
计数++;
}
var chart=new CanvasJS.chart(“chartContainer”,
{
标题:{
正文:标题
},
数据:[
{type:type,
数据点:[
/*
34{y:2,索引标签:“卡卡”},
35{y:3,索引标签:“黑莓”},
36{y:1,索引标签:“Windows Phone”},
37{y:5,索引标签:“其他”}*/
元素,
]
}
]
});
chart.render();
转储的$\u会话数组[“r\u数组”]如下所示
排列(
[特洛伊木马]=>1
[恶意软件]=>3
[后门]=>6
[病毒]=>2
[Bot]=>5
[Rootkit]=>7
[蠕虫]=>5
)
元素
必须是数组,您正试图将其创建为字符串(有语法错误)
var数组=;
var计数=0;
var元素=[];
var title=‘恶意软件实验室、TCRC、CTA’;
for(数组中的变量i){
元素。推({
y:数组[i],
索引标签:i
})
计数++;
}
var chart=new CanvasJS.chart(“chartContainer”{
标题:{
正文:标题
},
数据:[{
类型:类型,
数据点:元素
}]
});
chart.render();
演示:您需要以正确的方式传递数组 使用另一个变量
datapoints=[]代码>
然后将对象推入该数组
var datapoints = [];
for( var i in array) {
datapoints.push({ y : array[i] , indexLabel : i});
}
然后按如下方式使用它
var chart = new CanvasJS.Chart(“chartContainer”,
{
title: {
text: title
},
data: [
{ type: type,
dataPoints: datapoints
}
]
});
chart.render();
能否显示$\u会话[“r\u数组”]
的转储。请尝试此-->变量数组=“”;Thanx成功了。。。javascript中的数组是否也等于JSON?@user3181614 JSON是javascript的(几乎)子集。json中的j代表javascript。一直以来,您的目的都是在javascript中创建一个json字符串。
var chart = new CanvasJS.Chart(“chartContainer”,
{
title: {
text: title
},
data: [
{ type: type,
dataPoints: datapoints
}
]
});
chart.render();