Python使用dload包读取JSON数组内指定字段报错如何解决
错误原因
你的代码执行顺序错误,licencekeyurl是存储目标接口地址的字符串变量,本身不具备JSON结构的字段属性,你将字段索引逻辑写在了dload.json()的入参位置,会优先执行licencekeyurl['members'],字符串只能用整数做下标访问,因此触发TypeError: string indices must be integers报错。
解决方法
dload.json()方法接收URL字符串作为入参,会自动发起请求并将返回的JSON结构解析为Python字典对象,你需要先拿到解析后的字典,再执行字段提取操作,正确代码如下:
import dload # 先请求接口拿到解析后的字典数据 json_data = dload.json(licencekeyurl) # 提取目标字段 print(json_data['members'][0]['username'])
如果你要写为一行格式,写法如下:
print(dload.json(licencekeyurl)['members'][0]['username'])
内容的提问来源于stack exchange,提问作者Mic12z
相关产品推荐
相关产品推荐

