【发布时间】:2022-01-22 17:55:21
【问题描述】:
我正在尝试构建一个通过 API coingeckoAPI 获取加密日期的应用程序。
我已经设法在应用程序中收到了一个加密货币列表,但是,现在我正在尝试从某个时间范围导入价格数据。这就是我尝试这样做的方式: 我想根据我正在调用的 api 链接获取一个数据列表,其中包含一个时间戳和一个值(价格)。但是当我尝试打印一个等于 API 返回的变量时,我只得到这个:“[]”。但我希望它返回数据列表的列表,如消息底部所示。
void getGraphData(DateTime range) async {
int date = range.toUtc().millisecondsSinceEpoch;
int maxDate = DateTime.now().toUtc().millisecondsSinceEpoch;
var data = await get(
Uri.parse(
"https://api.coingecko.com/api/v3/coins/bitcoin/market_chart/range?vs_currency=usd&from=$date&to=$maxDate"),
);
if (data.statusCode == 200) {
List<dynamic> dataList = [];
dataList = jsonDecode(data.body)["prices"];
print(dataList);
}
}
API 数据格式如下:
{
"prices": [
[
1612137600000,
33064.78676701507
],
[
1612224000000,
33405.99035714327
],
[
1612310400000,
35485.98593382442
],
[
1612396800000,
37494.71762460426
],
],
}
如果您想查看,请参阅此处:https://api.coingecko.com/api/v3/coins/bitcoin/market_chart/range?vs_currency=usd&from=1612129039&to=1640039904。
我不知道如何访问内部列表中的数据。所以这些列表的列表,如上图
[
1612137600000,
33064.78676701507
],
【问题讨论】: