exchange.IO("base", "https://www.alphavantage.co/")
var data = exchange.IO("api", "GET", "query?function=TIME_SERIES_DAILY_ADJUSTED&symbol=IBM&apikey=demo");
var records = data["Time Series (Daily)"];
O acesso a esta API produz um json, a estrutura de dados dos registros é a seguinte, você pode ver que a chave é a data, mas a ordem é desordenada:
- O quê?
2020-09-09: {
7. montante do dividendo: 0,0000,
8. coeficiente de divisão : 1,0 ,
1. aberto: 122.1300,
2. alto : 123.7000 ,
3. baixo: 121,2900,
4. fechamento: 122.2600,
5. fechamento ajustado: 120.5590,
6. volume : 3770678
},
2020-08-11: {
6. volume : 5001176 ,
7. montante do dividendo: 0,0000,
8. coeficiente de divisão : 1,0 ,
1. aberto: 128.7600,
2. alto : 130.4700,
3. baixo: 126.6100,
4. fechamento: 126.7500,
5. fechamento ajustado: 124.9866
},
......
Mas se você acessar diretamente o navegador:https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol=IBM&apikey=demo
A ordem das chaves é ordenada por data:
Série de tempo (diário): {
2020-11-12: {
1. aberto: 115.6300,
2. alto : 116.3700,
3. baixo: 113.4800,
4. fechamento: 114.5000,
5. fechamento ajustado: 114.5000,
6. volume : 6427016 ,
7. montante do dividendo: 0,0000,
8. coeficiente de divisão : 1,0
},
2020-11-11: {
1. aberto: 118.1200,
2. alto : 118.3500,
3. baixo : 116.2200,
4. fechamento: 117.2000,
5. fechamento ajustado: 117.2000,
6. volume: 4289601,
7. montante do dividendo: 0,0000,
8. coeficiente de divisão : 1,0
},
- Não.
为什么会这样?如果要把api返回的json变成一个有序的数组,像fmz的exchange.GetRecords的数据结构,应该怎么做呢?