如何将json数据动态链接到chart.js

时间:2019-07-17 01:46:59

标签: javascript json graph chart.js

我正在尝试使用json数据创建图表。目前,我的脚本中包含数据,但我想将其链接到项目文件夹中的一个单独的.json文件。

这是我目前拥有的:

    var jsonfile = {
        "jsonarray": [{
            "name": "Joe",
            "age": 12
        }, {
            "name": "Tom",
            "age": 14
        }]
    };

    var labels = jsonfile.jsonarray.map(function(e) {
        return e.name;
    });

    var data = jsonfile.jsonarray.map(function(e) {
        return e.age;
    });

    var ctx = document.getElementById("chart");
    var chart = new Chart(ctx, {
        type: 'line',
        data: {
            labels: labels,
            datasets: [{
                label: 'Graph Line',
                data: data,
                backgroundColor: 'rgba(0, 119, 204, 0.3)'
            }]
        }
    });

理想情况下,我希望将json数据保存在一个单独的文件中,以便可以动态保存它。 谢谢:)

2 个答案:

答案 0 :(得分:1)

您可以使用fs模块读取和写入文件

var fs = require('fs');
var jsonfile = fs.readFileSync('the/path');
//if you want to write to the file I gave you a link that shows you the way

有关fs模块的更多信息,请检查File System | Node.js v12.6.0 Documentation

您可能需要通过JSON.stringifyJSON.parse来将对象另存为文件中的字符串,并在读取文件时将字符串解析回对象。

您可能考虑的另一种方式是轻量级javascript数据库,例如IndexedDB,这是浏览器端的嵌入式数据库;如果您要保留数据,尤其是电子,则可以使用其他数据库,例如neDB。应用程序。

答案 1 :(得分:1)

有很多方法可以满足您的愿望

var data = {"a" : "b", "c" : "d"};

然后

<script src="data.js" ></script>

var json = require('./data.json');

$.getJSON("data.json", function(json) {
    console.log(json);
});

祝你好运!