我正在尝试从 REST Api 重新格式化 JSON 数据,以便使用 d3 显示数据。d3 代码在一个角度组件内,但我认为这个问题与 javascript 更相关。我想使用的模板在这里:https ://bl.ocks.org/mbostock/3884955
我得到的数据被格式化为对象数组(我只想打印第一个),格式如下:
{"time":["2018-09-17T12:44:16.985Z","2018-09-17T12:44:17.982Z"],
"counts":[
[3539.8,3539.4],
Arr(2),
Arr(2),
Arr(2),
Arr(2)
]
}
--> 五个测量点,每个测量点有两个(在本例中)测量
这就是 d3 代码期望数据的方式:
(local var) data: {
id: string;
values: {
date: any;
count: any;
}[];
我试图实现的代码:
var keys_all=d3.keys(data[0].counts);
var measurementData = keys_all.map(function(id) {
return {
id: id.toString(),
values: data[0].counts[id].map(function(d,i) {
return {date: data[0].time[i], count: d};
})
};
});
当我使用 console.log() 时,结果正是我所期望的。但我无法在以下代码中访问属性“日期”和“时间”。
当我将鼠标悬停在结果变量上时,VS Code 只显示:
(local var) data: {
id: string;
values: any;
}[]
我还尝试记录字符串化的对象,这也有效。
有什么想法会出错吗?