Я извлекаю данные из файла JSON, хранящегося как переменная Javascript:
var jsonFile = {
"profiles": [{
"time": 0,
"conc": 0.15,
"fitted": 0.1,
"non": 0,
"prior": 30,
"missed": 2.9,
"wrong": 2.9,
"mix": 0.15,
"temp": 0.015,
"gel": 0.03,
"data": 4
},
{
"time": 1,
"conc": 11,
"fitted": 10,
"non": 5,
"prior": 35,
"missed": 2.35,
"wrong": 25,
"mix": 11,
"temp": 1.1,
"gel": 2.2,
"data": 4
},
{...}
}];
Я извлекаю нужные мне пары данных для конкретной линии на графике, используя метод map()
:
var dataPairs = jsonFile.profiles.map(function(e) {
return '{x:' + e.time + ', y:' + e.fitted + '}';
});
А потом я попытался отформатировать его как массив, необходимый для Chart.js
var dataPairs2 = '[' + dataPairs + ']';
Так что для линии графика data
я бы назвал dataPairs2
.Посмотрев на console.log(dataPairs2)
, я понял, что он не обрабатывается как массив.dataPairs
- это и массив, но каждая запись является строкой, поэтому вызов для нее вместо строки data
также не работает.
Итак, я пытаюсь выяснить, как преобразовать dataPairs2
в массив.JSON.Parse()
, похоже, не работает, потому что это не стандартный формат (я предполагаю), и я не думаю, что я могу использовать split()
с запятыми в качестве разделителя, потому что каждая запись массива содержит запятую.