Javascript 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

我需要得到图形生成从Mysql数据库与PHP的帮助。我从()得到了很好的申请。因此,我在PHP会话的变量元素中创建了自己的JSON格式。调试时它没有给我错误,但没有结果

第34-37行给出了我不评论它们的图表。当注释它们并替换为我自己的JSON时,JSON是变量元素,不会给我图形。给了我空白页

我是JSON新手。帮我解决这个问题

以下是我的代码

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();