如何使用JSON.parse()的输出作为HTML图表数据字段的输入?

问题描述 投票:0回答:1

我正在尝试从excel / JSON数据绘制HTML图,这些数据可以作为本地的外部文件使用。

代码段:data.json文件

[{
"Name": "ABC",
"Subject1": "Physics",
"Subject2": "Chemistry",
"Subject3": "Maths",
"Optional": "Biology",
},
{
"Name": "XYZ",
"Subject1": "Economics",
"Subject2": "Accounts",
"Subject3": "Maths",
"Optional": "IT",
}]

代码段:js文件

var actual_JSON;
function loadJSON(callback) {   
    var xobj = new XMLHttpRequest();
    xobj.overrideMimeType("application/json");
    xobj.open('GET', 'data.json', true); 
    xobj.onreadystatechange = function () {
        if (xobj.readyState == 4 && xobj.status == "200") {
            callback(xobj.responseText);
        }
    };
    xobj.send(null);  
}

function init() {
    loadJSON(function(response) {
        // Parse JSON string into object
        actual_JSON = JSON.parse(response);
    });
}

现在,actual_JSON的输出将数据作为对象返回。如果我在像:

这样的数据字段中传递了Actual_JSON
var data = actual_JSON;

var chart = new Chart(ctx, {
    data: data,
    type: 'line',
    options: options
});

我没有任何价值。如何获得这些值?

javascript json charts chart.js
1个回答
0
投票

您可以使用该对象的数据创建另一个对象,该对象应该只是普通的json

EX:

var charData = {};
Object.keys(actual_JSON).forEach((key) => {
charData[key] = actual_JSON[key]
})

尝试使用charData

© www.soinside.com 2019 - 2024. All rights reserved.