2017-06-04 92 views
0

這個問題可能與sparkfun相當具體,但由於我在javascript方面的經驗有限,我仍然希望將其作爲一般性問題。從外部網站(sparkfun)檢索json文件的一部分

我一直在使用後續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]),但隨着數據的增長,這種方法變得效率很低。

謝謝!

回答

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) 
}); 

希望有幫助!

+0

謝謝傑克,我試過你的腳本,它說「ReferenceError:$未定義」 –

+0

明白了。我需要先下載jQuery或使用CDN –

1

這裏不是專家,但他們的文檔狀態達可以使用分頁來獲得數據的第一個250KB:

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

你可以得到你的第一個對象/組數據,我恐怕有沒有通用的方法來接收任何API響應的一部分 - 請求是請求,它可以根據體系結構向您發送所有可能的數據,從「OK」字符串到200MB數據。仔細閱讀文檔是你最好的選擇。