javascript - Highcharts 将 JSON 转换为数据而不会丢失信息
问题描述
我得到了一个这种格式的 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。
我怎样才能以另一种方式做到这一点?
解决方案
从您的代码中,您不会将其推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;
}, [])
});
推荐阅读
- python - 查阅 Python 类的源代码的最佳方法是什么?
- swift - 多行注释的快速词法结构
- excel - 范围内所有最大值的VBA随机行
- html - 如何获得使用悬停在触摸屏上工作的下拉菜单?
- vba - 如果条件在VBA中读取数组的多个项目
- python-3.x - 使用 matplotlib 的颤动图中的错误向量(电压梯度)
- javascript - 在没有 Node.js 的情况下使用 rsocket-js 客户端
- asp.net - 当 jquery ajax 调用的 aspx web 方法具有超过 8 个参数时无法访问
- python - 命令行生成的文件不存在
- c# - 使用 odbc 驱动程序进行慢速查询