Как получить открытие и закрытие из этого запроса JSON

Существует API под названием Alpha Vantage, который получает данные о запасах в реальном времени. Делая запрос, он возвращает JSON. Это отличается от всего, что я видел, поскольку это не в массиве. Я не могу разобраться с этим. Я использую JQuery и Javascript и хочу сохранить значения в массиве, чтобы я мог прочитать их позже.

Вот формат JSON. (Полный JSON)
https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&Символ = MSFT&Интервал = 1мин&apikey = демонстрационная

И вот образец этих данных:

{
"Meta Data": {
"1. Information": "Intraday (1min) prices and volumes",
"2. Symbol": "MSFT",
"3. Last Refreshed": "2017-10-06 16:00:00",
"4. Interval": "1min",
"5. Output Size": "Compact",
"6. Time Zone": "US/Eastern"},
"Time Series (1min)": {
"2017-10-06 16:00:00": {
"1. open": "75.9700",
"2. high": "76.0000",
"3. low": "75.9500",
"4. close": "76.0000",
"5. volume": "2277972"},
"2017-10-06 15:59:00": {
"1. open": "75.9700",
"2. high": "75.9700",
"3. low": "75.9500",
"4. close": "75.9650",
"5. volume": "142469"},
"2017-10-06 15:58:00": {
"1. open": "75.9700",
"2. high": "75.9900",
"3. low": "75.9500",
"4. close": "75.9600",
"5. volume": "141434"},

И это продолжается до конца.

Цени любую помощь в получении этих данных в массиве, так как я застрял в этой части моего проекта.

1

Решение

Вы можете использовать ниже код

function traverse(jsonObj) {
if( typeof jsonObj == "object" ) {
for (var prop in jsonObj){
// k is either an array index or object key
console.log(jsonObj[prop]);
traverse(prop);
}
}
else {
// jsonOb is a number or string
}

}
traverse(data["Time Series (1min)"]);

fgfg

0

Другие решения

Попробуйте ниже код

JS CODE

storeToarray();
function storeToarray(){
let ItemArray = [];
if(Object.keys(data).length > 1){
var keus = Object.keys(data)[1];
for(var i = 0; i < Object.keys(data[keus]).length; i++){
var keusVal = Object.keys(data[keus])[i];
var open = Object.keys(data[keus][keusVal])[0];
var close = Object.keys(data[keus][keusVal])[1];
var low = Object.keys(data[keus][keusVal])[2];
var volume = Object.keys(data[keus][keusVal])[3];
var high = Object.keys(data[keus][keusVal])[4];

ItemArray.push({"open":data[keus][keusVal][open],"high" :data[keus][keusVal][high] ,"low" : data[keus][keusVal][low],"close":data[keus][keusVal][close],"volume":data[keus][keusVal][volume]})
}
}
console.log(ItemArray);
}

Нажмите здесь, чтобы увидеть JsFiddle Demo

0