无法从 API 获取值
Posted
技术标签:
【中文标题】无法从 API 获取值【英文标题】:Cannot get a value from API 【发布时间】:2022-01-10 17:39:27 【问题描述】:我有一个来自polygon.io的api调用的问题。 我正在使用他们的免费 API,它可以为我提供有关股票行情的信息。
我使用的 API 在调用时会为我提供响应。 从响应中,我需要得到响应>数据>结果>“c”值,在这种情况下,1014.97
到目前为止,我能做的最好是:
console.log(response.data.results)
给出:
Array [
Object
"T": "TSLA",
"c": 1014.97,
"h": 1090.5753,
"l": 1000.21,
"n": 1043576,
"o": 1084.79,
"t": 1638565200000,
"v": 30773995,
"vw": 1028.7486,
,
请告诉我如何获得“c”值?
这是完整的回复数据:
console.log(response)
,在VS-Code>终端显示:
Object
"config": Object
"adapter": [Function xhrAdapter],
"baseURL": "https://api.polygon.io/",
"data": undefined,
"headers": Object
"Accept": "application/json",
,
"maxBodyLength": -1,
"maxContentLength": -1,
"method": "get",
"params": Object
"apiKey": "Gp5IgTvT4fPbfhINPpOk7iBIUDjOTRc9",
,
"timeout": 5000,
"transformRequest": Array [
[Function transformRequest],
],
"transformResponse": Array [
[Function transformResponse],
],
"transitional": Object
"clarifyTimeoutError": false,
"forcedJSONParsing": true,
"silentJSONParsing": true,
,
"url": "v2/aggs/ticker/MSFT/prev",
"validateStatus": [Function validateStatus],
"xsrfCookieName": "XSRF-TOKEN",
"xsrfHeaderName": "X-XSRF-TOKEN",
,
"data": Object
"adjusted": true,
"count": 1,
"queryCount": 1,
"request_id": "6a2a6c28efc5fcf9e4b1f295f845bf91",
"results": Array [
Object
"T": "TSLA",
"c": 1014.97,
"h": 1090.5753,
"l": 1000.21,
"n": 1043576,
"o": 1084.79,
"t": 1638565200000,
"v": 30773995,
"vw": 1028.7486,
,
],
"resultsCount": 1,
"status": "OK",
"ticker": "MSFT",
,
"duration": 406,
"headers": Object
"content-type": "application/json",
"date": "Sat, 04 Dec 2021 21:37:55 GMT",
"server": "nginx/1.19.2",
"strict-transport-security": "max-age=15724800; includeSubDomains",
"vary": "Accept-Encoding",
"x-request-id": "6a2a6c28efc5fcf9e4b1f295f845bf91",
,
"ok": true,
"originalError": null,
"problem": null,
"status": 200,
【问题讨论】:
【参考方案1】:Results 是一个字典对象数组。包含“c”值的字典对象是数组的第一个元素。 所以,你可以这样得到它
response.data.results[0].c
【讨论】:
【参考方案2】:由于“结果”是一个包含字典的数组,因此您可以使用 response.data.results['c'] 引用关闭值。
【讨论】:
我尝试了你的方法:console.log(response.data.results['c'])
导致 undefined。 @Achraf 的方法奏效了。不过谢谢:)以上是关于无法从 API 获取值的主要内容,如果未能解决你的问题,请参考以下文章
无法从异步函数获取返回值,等待未按预期工作(Vue API 服务)
我无法使用 Geonames API 从邮政编码中获取城市名称