Как использовать вывод JSON.parse () в качестве ввода поля данных HTML-диаграмм? - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь нарисовать HTML-графики из данных Excel / JSON, которые доступны как локальный внешний файл.

Фрагмент кода: файл data.json

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

Фрагмент кода:js file

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
});

, я не получаю никакого значения. Что можно сделать, чтобы получить значения?

1 Ответ

0 голосов
/ 11 ноября 2019

Вы можете использовать создать другой объект, используя данные этого объекта, который должен быть просто обычным json

EX:

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

попробуйте использовать charData

...