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

Python提取JSON中elevation字段时出现KeyError问题求助

解决KeyError: 'elevation'问题

你的问题出在JSON结构的层级上——返回的resp顶层并没有'elevation'键,它嵌套在'results'数组的第一个字典元素里。

看打印的resp内容:

{'results': [{'latitude': 30.654543, 'longitude': 35.235351, 'elevation': -80}]}
  • 顶层键是'results',对应的值是一个列表
  • 'elevation'在这个列表的第0个(第一个)字典元素中

修正后的代码:

r = requests.get(api_url + str(lat) + "," + str(longi))
resp = json.loads(r.text)
# 先取results列表,再取第一个元素,最后提取elevation
elevation = resp['results'][0]['elevation']
print(elevation)

如果要更安全(比如防止results为空的情况),可以加个判断:

if resp.get('results') and len(resp['results']) > 0:
    elevation = resp['results'][0]['elevation']
    print(elevation)
else:
    print("未找到有效海拔数据")

另外,requests库本身有json()方法可以直接解析响应,不用手动调用json.loads(r.text),简化代码:

r = requests.get(api_url + str(lat) + "," + str(longi))
resp = r.json()
if resp.get('results') and len(resp['results']) > 0:
    print(resp['results'][0]['elevation'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 15:54:22