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)"];
访问这个api会得到一个json,records的数据结构是这样的,可以看到key是日期,但排列是无序的:
{
"2020-09-09": {
"7. dividend amount": "0.0000",
"8. split coefficient": "1.0",
"1. open": "122.1300",
"2. high": "123.7000",
"3. low": "121.2900",
"4. close": "122.2600",
"5. adjusted close": "120.5590",
"6. volume": "3770678"
},
"2020-08-11": {
"6. volume": "5001176",
"7. dividend amount": "0.0000",
"8. split coefficient": "1.0",
"1. open": "128.7600",
"2. high": "130.4700",
"3. low": "126.6100",
"4. close": "126.7500",
"5. adjusted close": "124.9866"
},
……
但是如果你直接浏览器访问:https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol=IBM&apikey=demo
key的排列就是有序的,按照日期来的:
"Time Series (Daily)": {
"2020-11-12": {
"1. open": "115.6300",
"2. high": "116.3700",
"3. low": "113.4800",
"4. close": "114.5000",
"5. adjusted close": "114.5000",
"6. volume": "6427016",
"7. dividend amount": "0.0000",
"8. split coefficient": "1.0"
},
"2020-11-11": {
"1. open": "118.1200",
"2. high": "118.3500",
"3. low": "116.2200",
"4. close": "117.2000",
"5. adjusted close": "117.2000",
"6. volume": "4289601",
"7. dividend amount": "0.0000",
"8. split coefficient": "1.0"
},
...
为什么会这样?如果要把api返回的json变成一个有序的数组,像fmz的exchange.GetRecords的数据结构,应该怎么做呢?
- 1
