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

Python获取API返回JSON后查找字段报JSONDecodeError如何解决

问题解决方法

错误根源

  • 调用response.json()后已经得到Python原生字典对象,不需要额外转字符串后二次调用json.loads()
  • Python字典转字符串默认会把键的双引号转为单引号,不符合JSON格式要求,二次解析自然会抛出格式错误

修正后的代码

import requests

data = requests.get('[api]',
    headers={
    "[api key name]" : "[api key]"
    })

# 已经是解析完成的字典,直接取值即可
dataJson = data.json()
amt = dataJson['data']['inventory']['object_name']['amount']

可选优化写法

如果不确定层级键是否一定存在,可以保留get()方法避免抛出KeyError:

amt = dataJson.get('data', {}).get('inventory', {}).get('object_name', {}).get('amount')

如果某层级键不存在,amt最终会返回None,不会直接中断程序运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 03:30:02