Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 解析JSON数据时highchart数据显示出现问题_Php_Javascript_Jquery_Json_Highcharts - Fatal编程技术网

Php 解析JSON数据时highchart数据显示出现问题

Php 解析JSON数据时highchart数据显示出现问题,php,javascript,jquery,json,highcharts,Php,Javascript,Jquery,Json,Highcharts,我试图动态地从PhP模块中获取数据,将其作为JSON数据加载到javascript中,并使用这些数据使用HighCharts生成饼图。当我使用一些静态数据时,饼图正确生成,但当我解析JSON数据并将其作为输入提供给Highchart series对象时,饼图没有加载。我确信这与输入Highcharts时的数据格式有关,但我暂时无法弄清楚这一点:(所以我想我会联系你们的。我在这里附上了代码和php模块生成的json输出示例,供你们参考 从PhP模块生成的JSON输入示例:[{“skill”:“ht

我试图动态地从PhP模块中获取数据,将其作为JSON数据加载到javascript中,并使用这些数据使用HighCharts生成饼图。当我使用一些静态数据时,饼图正确生成,但当我解析JSON数据并将其作为输入提供给Highchart series对象时,饼图没有加载。我确信这与输入Highcharts时的数据格式有关,但我暂时无法弄清楚这一点:(所以我想我会联系你们的。我在这里附上了代码和php模块生成的json输出示例,供你们参考

从PhP模块生成的JSON输入示例:[{“skill”:“html”,“count”:“158”},{“skill”:“css”,“count”:“134”}]。需要解析此JSON输入并将其作为输入馈送到my HighCharts series对象,以生成一个饼图,将“html”和“css”显示为饼图切片

任何指导都将不胜感激

谢谢


顶级技能分析
顶级技能分析
//使用PhP模块中动态生成的数据创建HighChart
函数loadCharts(){
//解析JSON数据并返回数组的数组
var结果=[];
//php中的json类似:[{“skill”:“html”,“count”:“158”},{“skill”:“css”,“count”:“134”}]
$.getJSON('test.php',函数(json){
$.each(json,函数(i,条目){
结果.推(进入.技能,进入.计数);
});
});
//结果=[[“html”,158],“css”,134];-->
变量选项1={
“系列”:[{
“名称”:“作业”,
“类型”:“馅饼”,
“切片”:对,
“data”:result,//在填充像[[“html”,158],“css”,134]这样的静态值时工作
“点宽度”:15,
“颜色”:“C6D9E7”,
“边框颜色”:“8BB6D9”,
“影子”:没错,
}],
“标题”:{
“文本”:“顶级技能分析”
},
“传奇”:{
“布局”:“垂直”,
“风格”:{
“左”:“自动”,
“底部”:“自动”,
“右”:“自动”,
“顶部”:“自动”
}
},
“图表”:{
“renderTo”:“容器”
},
“学分”:{
“已启用”:false
}
};
var chart1=新的Highcharts.图表(选项1);
}
//第一次加载网页时加载图表
$(文档).ready(函数(){
负荷图();
});
试试这个

result.push([entry.skill, parseInt(entry.count)]);
试试这个

result.push([entry.skill, parseInt(entry.count)]);

它使用静态数据,因为计数是整数

["html",158]
它不能处理动态数据,因为它返回一个字符串计数

{"skill":"html","count":"158"}
注意到第二行代码周围的双引号了吗? 在将字符串传递给highcharts之前,您需要在php或javascript中将其转换为int

还有一件事,如果你运行代码,highcharts应该会抱怨一个错误

Uncaught Highcharts error #14: www.highcharts.com/errors/14 
如果你访问这个链接,它对字符串的描述基本上是一样的

代码还有另一个问题

[["html",158],["css",134]]
正如您在这里看到的,我们有一个数组数组,当我们使用字符串到int解析运行代码时,我们得到

["html", 158, "css", 134] 
注意到问题了吗?我们有一个由四个元素组成的数组。 您需要做的是:

result.push([entry.skill, entry.count]);

将两个元素的数组推送到结果变量,不要忘记count必须是int

它可以处理静态数据,因为count是int

["html",158]
它不能处理动态数据,因为它返回一个字符串计数

{"skill":"html","count":"158"}
注意到第二行代码周围的双引号了吗? 在将字符串传递给highcharts之前,您需要在php或javascript中将其转换为int

还有一件事,如果你运行代码,highcharts应该会抱怨一个错误

Uncaught Highcharts error #14: www.highcharts.com/errors/14 
如果你访问这个链接,它对字符串的描述基本上是一样的

代码还有另一个问题

[["html",158],["css",134]]
正如您在这里看到的,我们有一个数组数组,当我们使用字符串到int解析运行代码时,我们得到

["html", 158, "css", 134] 
注意到问题了吗?我们有一个由四个元素组成的数组。 您需要做的是:

result.push([entry.skill, entry.count]);

将两个元素的数组推送到结果变量,不要忘记count必须是int

这将产生'[“html”,158,“css”,134]“这有什么帮助呢?谢谢Jugal。我采纳了你的建议,以@metame给出的解决方案为基础,它成功了!!ohhh@MinaGabriel我犯了一个严重的错误!!!!纠正了,我忘记了
[]
谢谢这将导致“[“html”,158,“css”,134]“这有什么帮助呢?谢谢Jugal。我采纳了你的建议,以@metame给出的解决方案为基础,它成功了!!ohhh@MinaGabriel我犯了一个严重的错误!!!!更正了,我忘记了
[]
ThanksThanks@metame。我看到了我所犯的错误,现在我已经修复了它以生成正确的饼图。我真的需要提高我的JS技能:)谢谢@metame。我看到了我所犯的错误,现在我已经修复了它,以生成正确的饼图。我真的需要提高我的JS技能:)