在Chart.js

时间:2016-04-16 00:44:10

标签: javascript json html5 chart.js

javascript很新。 我试图读取位于我的localhost(http://localhost:8080/jsonData.json)上的JSON文件并格式化它以使用Chart.js显示。

这是我的JSON文件:

[{"date": "1/02/16", "price":15.25},
{"date":"29/01/16", "price":15.35},
{"date":"28/01/16", "price":15.1}]

和我的html文件将显示图表:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test Chart</title>
<script src="javascript/Chart.js"></script>
</head>
<body>
<canvas id="mycanvas" width="400" height="400"></canvas>
<script>
$.getJSON( "http://localhost:8080/jsonData.json", function( data ) {
    var chartjsData = [];
    var labels = [];
    $.each( data, function( key, val ) {
        labels.push(key);
        chartjsData.push(val);
      });

    var lineChartData = {
        labels : labels,
        datasets : [{
            fillColor : "rgba(220,280,220,0.5)",
            strokeColor : "rgba(220,220,220,1)",
            data : chartjsData
        }]
    };
    var myLine = new Chart(document.getElementById("mycanvas").getContext("2d")).Line(lineChartData);
});
</script>
</body>
</html>

基本上当我运行它时,我只是得到一个没有显示任何内容的空白屏幕,所以我猜测它与我如何解析文件有关,任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

该txt文件中的JSON不是有效的JSON对象。你需要使用这样的常规引号:

[{"date": "1/02/16", "price":15.25},
{"date":"29/01/16", "price":15.35},
{"date":"28/01/16", "price":15.1}];

此外,您可以在此处使用jQuery的$.getJSON功能:

var myJSON = $.getJSON( "example.json", function() {
  console.log( "success" );
})

见这里:http://api.jquery.com/jquery.getjson/