如何正确将API响应中的ask值赋值给Python变量X
正确获取API响应中ask值的方法
问题根源
你的基础代码里犯了一个关键错误:response.json()已经将API响应解析成了Python字典,但你紧接着用json.dumps()把它转换成了字符串。后续操作的是字符串而非字典,自然无法通过键值对的方式访问ask的值。
修正步骤与代码
- 保留解析后的字典,不要转成字符串
- 按照JSON结构的层级访问
ask值:quoteResponse->result(这是一个列表,取第一个元素[0]) ->ask
完整正确代码如下:
import requests import json response = requests.request("GET", url, headers=headers, params=querystring) API_Data = response.json() # 这里得到的是Python字典,不要转成字符串 # 直接访问ask值并赋值给X X = API_Data['quoteResponse']['result'][0]['ask'] print("ask = ", X)
为什么你的两种方法失败
- 方法1:你遍历的是字符串
API_Data的每个字符,而非字典的键,永远找不到'ask'这个字符。 - 方法2:同样遍历的是字符串的每个字符,而且
result是列表,必须通过索引(比如[0])访问其中的字典,不能直接用['result']['ask']。
内容的提问来源于stack exchange,提问作者Terry
相关产品推荐
相关产品推荐

