You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript从Alpha Vantage API返回的JSON数据中提取日期数组

解决方法

Alpha Vantage 所有时间序列类接口的返回结构中,对应时间粒度的字段(比如Time Series (Daily)、Time Series (5min))下的一级键就是你需要的时间戳/日期字符串,直接提取这些键即可得到目标数组。

Python 实现示例

import requests

# 替换为你自己的API密钥和股票代码
API_KEY = "YOUR_API_KEY"
SYMBOL = "AAPL"
# 此处以每日粒度接口为例,可替换为你实际调用的接口function参数
url = f"https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol={SYMBOL}&apikey={API_KEY}"

resp = requests.get(url)
data = resp.json()

# 提取对应时间粒度的字段
time_series = data.get("Time Series (Daily)", {})
# 直接转数组得到日期列表
date_arr = list(time_series.keys())

# 如果你调用的是日内粒度(5分钟/1分钟)接口,要提取日期部分(即示例中同一个日期重复出现的效果),用以下代码:
# time_series = data.get("Time Series (5min)", {})
# date_arr = [ts.split(" ")[0] for ts in time_series.keys()]

# 如果需要按时间正序排列,反转数组即可
# date_arr = date_arr[::-1]

print(date_arr)

JavaScript 实现示例

const API_KEY = "YOUR_API_KEY"
const SYMBOL = "AAPL"

fetch(`https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=${SYMBOL}&apikey=${API_KEY}`)
  .then(res => res.json())
  .then(data => {
    const timeSeries = data["Time Series (Daily)"] || {}
    let dateArr = Object.keys(timeSeries)

    // 日内粒度提取日期部分的写法
    // dateArr = Object.keys(timeSeries).map(ts => ts.split(" ")[0])

    // 正序排列写法
    // dateArr = dateArr.reverse()

    console.log(dateArr)
  })

如果你的接口返回结构和通用结构有差异,只要找到时间序列对应的对象层,提取该层的所有键即可得到对应日期。


内容的提问来源于stack exchange,提问作者joseph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 19:36:02