javascript - 使用外部 json 数据在画布 js 中渲染图形
问题描述
我正在尝试使用canvas.js
. 图表需要从托管在本网站的外部 JSON 源呈现
http://gsx2json.com/api?id=1vc7wCjNXK39HMEYDkOJRMhQGPJpxMu4MJgTsydyLats
目标是根据 JSON 数据中的 2 个值绘制图表(例如,时间戳与纬度)
这是我到目前为止的代码:
$.getJSON("http://gsx2json.com/apiid=1vc7wCjNXK39HMEYDkOJRMhQGPJpxMu4MJgTsydyLats", function addData(data){
for (var i = 0; i < data.length; i++) {
dataPoints.push({
x: new Date(data[i].columns["timestamp"]),
y: data[i].columns["latitude"]
});
}
chart.render();
// console.log(data.columns["timestamp"])
});
我正在使用 for 循环遍历 JSON 对象,然后使用 JSON 键访问数据。
当我运行此代码时,数据不会呈现。但是,当我尝试console.log (data.columns["latitude"])
在 for 循环之外时,我能够访问我需要的数据。
任何帮助深表感谢。
谢谢。
解决方案
您正在安慰 data.columns[“latitude”],它正在得到安慰,而在解析时,您将其视为 data[i].columns[“latitude”],理想情况下应该是 data.columns[“latitude”][i]。在这种情况下,相应地解析从 JSON 接收的数据应该可以正常工作。
function addData(data) {
for (var i = 0; i < data.columns["timestamp"].length; i++) {
dataPoints.push({
x: new Date(data.columns["timestamp"][i]),
y: data.columns["latitude"][i]
});
}
chart.render();
}
$.getJSON("https://api.myjson.com/bins/1eqjac", addData); //JSON has been stored in myjson.com due to CORS.
这是工作的JSFiddle
推荐阅读
- javascript - 如何在ANTD的FormItem中设置Mutlti Select的初始值
- sql-server - 将时间求和为持续时间
- three.js - 我不明白 a-frame 中的“实体相机”代码行
- php - 如何限制树视图中显示的图像数量?
- android - React 本机应用程序卡在 Android 上的“飞溅”中
- directory - PowerShell 删除当前用户文件夹和文件
- python-3.x - 在 python subprocess.run 中循环变量
- java - 如何在 Map 中找到以其他字符串开头的字符串
, 以最有效的方式 - json - 访问带有 @ 前缀的 JSON 变量
- python - 在给定特定块大小的情况下稀疏矩阵的函数