我得到了具有以下格式的JSON:
[{"date":1508473800525,"total":150,"class1":55,"class2":36},{...},{...}]
我想在此示例中使用它:https://www.highcharts.com/stock/demo/responsive
输入数据采用以下格式:
[[1508473800525,150],[...]]
为了获得相同的输入,我用一个foreach转换了json,然后将其压入这样的数组中
array.push([JSON.parse(elementObject["date"]), JSON.parse(elementObject["total"])])
它可以工作,但是当我在图表中使用它时:
series : [{ data : array }]
我无法访问class1和class2。
我该怎么办?
答案 0 :(得分:1)
根据您的代码,您没有将class1
和class2
推送到数组。最好使用Object.keys
以确保保留对象中的所有属性。
const responseJson = '[{"date":1508473800525,"total":150,"class1":55,"class2":36},{...},{...}]';
const dataForChart = JSON.parse(responseJson)
.map(obj => {
const keys = Object.keys(obj);
return keys.reduce((f, c) => {
f.push(obj[c]);
return f;
}, [])
});
答案 1 :(得分:0)
您应将class1
和class2
属性保存到数据数组中的特定点对象。每个点都是这样的对象:
{
x: jsonPoint.date,
y: jsonPoint.total,
class1: jsonPoint.class1,
class2: jsonPoint.class2
}
该方法允许您访问每个数据点中的class1
和class2
。