Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.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
Javascript 在highchart中加载外部json文件_Javascript_Jquery_Json_Highcharts - Fatal编程技术网

Javascript 在highchart中加载外部json文件

Javascript 在highchart中加载外部json文件,javascript,jquery,json,highcharts,Javascript,Jquery,Json,Highcharts,在HighCharts中加载外部JSON文件时,它在浏览器中不显示任何内容。我有以下JSON数据。我已经在HTML代码的开头包含了highchart.js和jquery.js,但我仍然无法在浏览器中获得条形图。检查控制台时,控制台中未显示任何错误 var json = [{ "key": "Apples", "value": "4" }, { "key": "Pears", "value": "7" }, { "key": "Bananas", "

在HighCharts中加载外部JSON文件时,它在浏览器中不显示任何内容。我有以下JSON数据。我已经在HTML代码的开头包含了highchart.js和jquery.js,但我仍然无法在浏览器中获得条形图。检查控制台时,控制台中未显示任何错误

var json = [{
    "key": "Apples",
    "value": "4"
}, {
    "key": "Pears",
    "value": "7"
}, {
    "key": "Bananas",
    "value": "9"
}];

var processed_json = new Array();
$.map(json, function(obj, i) {
    processed_json.push([obj.key, parseInt(obj.value)]);
});

$('#container').highcharts({
    chart: {
        type: 'column'
    },
    xAxis: {
        type: "category"
    },
    series: [{
        data: processed_json
    }]
});

这是因为执行顺序与我们预期的不同。即JSON加载部分在初始化之前执行

您可以将JSON加载部分代码放在一个函数中,并在HTML元素的事件中完成初始化函数后调用该函数

我有一个AJax函数,所以在AJax调用成功时调用了这个JSON加载函数

代码:


尝试使用静态数据而不是json文件,并检查它是否工作,可能是数据问题。在内部使用json数据时不工作不明白您的意思?用代码Sanjay Kumar N SMake解释,确保id=container的元素存在,并且JSON变量processed\u JSON已正确初始化。yes id=container存在于中。你能用jsfiddle提供输出吗?在这里,我发现变量processed_json不是你所期望的有效json格式。当我尝试使用变量json时,它工作正常。我没有你的完整代码,即使我尝试了一个样本。演示:
var json = [{
    "key": "Apples",
    "value": "4"
}, {
    "key": "Pears",
    "value": "7"
}, {
    "key": "Bananas",
    "value": "9"
}];

var processed_json = new Array();
$.map(json, function(obj, i) {
    processed_json.push([obj.key, parseInt(obj.value)]);
});
if (processed_json.length != 0) {
   loadJson();
}

function loadJson() {
    $('#container').highcharts({
        chart: {
            type: 'column'
        },
        xAxis: {
            type: "category"
        },
        series: [{
            data: processed_json
        }]
    });
}