从外部网站(sparkfun)

时间:2017-06-04 12:56:41

标签: javascript json d3.js

这个问题可能对sparkfun非常具体,但由于我在javascript方面的经验有限,我仍然希望将其作为一般性问题。

我一直在使用html和javascript(d3.js)文件从sparkfun data server加载json数据:

的index.html

<!DOCTYPE html>
<meta charset="utf-8">
<body>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script>

var data_sensor;
var url =   "https://data.sparkfun.com/output/w5nEnw974mswgrx0ALOE.json"
d3.json(url,  function (error,json) {
    if (error) throw error;
    data_sensor=json;
    console.log(data_sensor)
}) 
</script>

</body>

运行脚本后,我将最终将所有数据数组存储在变量 data_sensor 中进行后期分析。

我现在要做的是创建一个下载并仅存储最新值的仪表板。据我所知,我可以使用 data_sensor 中的第一个值(即data_sensor [0]),但随着数据的增长,这种方法变得非常低效。

谢谢!

2 个答案:

答案 0 :(得分:1)

当我想从某个地方加载JSON时,我总是使用jQuery:

像这样导入jQuery:

<script src="jquery-3.2.1.min.js"></script>

然后你可以做这样的事情来获取你的JSON文件:

var data_sensor;
var url = "https://data.sparkfun.com/output/w5nEnw974mswgrx0ALOE.json"
$.getJSON(url, function(data) {
  data_sensor = data;
  console.log(data_sensor)
});

希望有所帮助!

答案 1 :(得分:1)

这里不是专家,但他们的文档说明你可以使用分页来获取第一个250kb的数据:

var url = "https://data.sparkfun.com/output/w5nEnw974mswgrx0ALOE.json?page=1";

你可以得到你的第一个对象/数据集,我担心没有通用的方法只接受任何API响应的一部分 - 请求是请求,它可以根据架构向你发送每个可能的数据,从“确定“字符串到200MB的数据。仔细阅读文档是最好的选择。