初学者请教一个json的排序问题

Author: NoworNever, Created: 2020-11-13 10:24:32, Updated:

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的数据结构,应该怎么做呢?


More

NoworNever 已经解决,谢谢。

小草 搜索 js object sort by key