我想利用時間戳從http://chartapi.finance.yahoo.com/instrument/1.1/goog/chartdata;type=close;range=1d/json/?callback=?
改變格式成類似於JS陣列[解決]
JSON數據的/關閉到看起來像一個JS陣列中http://www.highcharts.com/samples/data/jsonp.php?filename=goog-c.json&callback=?
參見:http://jsfiddle.net/gMs6n/( 更新:http://jsfiddle.net/gMs6n/2/)(視圖控制檯以查看數據日誌) 使用Highcharts示例工作版本:http://jsfiddle.net/gMs6n/1/
$(function() {
// ajax in data
$.ajax({
type: 'GET',
dataType: 'jsonp',
cache: true, jsonp: false, jsonpCallback: 'graph',
url: 'http://chartapi.finance.yahoo.com/instrument/1.1/goog/chartdata;type=close;range=1d/json/?callback=graph', // http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=graph
processData: false
}).success(function(data) {
// manipulate the data
console.log(data);
//JSON.parse(data);
// create a new data object
$.each(data.series, function (i, val) {
for (var key in data.series[i]) {
//console.log(key);
console.log(data.series[i][key]); // how to pair up the timestamp/close in a new data object?
}
});
// Create the chart
/*
$('#container').highcharts('StockChart', {
series: [{
data: data,
tooltip: {
valueDecimals: 2
}
}]
});
*/
});
});
我已經試過JSON.parse(data);
和$.parseJSON(data);
但我得到一個錯誤。我一定做錯了什麼。
怎樣操縱它後阿賈克斯所以用「數據」是Highcharts可以使用結束了?我正在使用$.each
來迭代數據以形成新的數據集。 如何配對新數據對象中的時間戳/關閉?
對數據進行迭代,從舊數據中創建與所需輸出相匹配的新數據。 'JSON.parse'和'$ .parseJSON'比最初的JSON字符串轉換成JavaScript數組/對象,jQuery是已經爲你做無用的這個任務,其他。 –
數據*已經是* JavaScript對象(不是JSON,JSON是* text *)。如果dataType是「json」或「jsonp」,jQuery將透明地處理轉換。在成功回調中使用調試器並檢查'data'並查看它包含的結構 - 並適當地使用它。 – user2864740
聽起來像是[.MAP](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) – tenub