TypeError:使用Python解析Json时,字符串索引必须是整数错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了TypeError:使用Python解析Json时,字符串索引必须是整数错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2424字,纯文字阅读大概需要4分钟。
内容图文
在你判断和思考自己之前’我已经看过这个问题一千次了’请继续阅读并给我一个机会,我已经在互联网上搜索答案但似乎无法找到任何帮助.
所以我试图从我使用以下代码获得的API解析json:
url = 'https://api.companieshouse.gov.uk/company/' + companyno + '/charges'
r = requests.get(url, auth=('API KEY', ''))
data = r.json()
我可以很容易地从json获取特定值,例如使用以下代码:
for each in data['items']:
print(each['created_on'])
返回:
2016-11-08
2016-11-08
2016-11-08
2015-03-27
2015-03-27
2015-03-27
2015-03-27
2015-03-27
2007-10-10
2007-09-28
2007-09-19
这正是我想要的,它适用于其他键.
然而,有一点json,我似乎无法访问,我有点编辑json,以避免发布敏感数据(无论如何公众可以获得,但只是为了谨慎)但它基本上没有变化:
{
'items':[
{
'created_on':'2016-11-08',
'etag':'DELETED',
'classification':{
'type':'charge-description',
'description':'A registered charge'
},
'particulars':{
'contains_negative_pledge':True,
'description':'DELETED',
'type':'brief-description'
},
'transactions':[
{
'links':{
'filing':'DELETED'
},
'filing_type':'create-charge-with-deed',
'delivered_on':'2016-11-21'
}
],
'links':{
'self':'DELETED'
},
'charge_code':'DELETED',
'delivered_on':'2016-11-21',
'status':'outstanding',
'persons_entitled':[
{
'name':'DELETED'
},
{
'name':'DELETED'
}
],
'charge_number':59
},
{
'transactions':[
{
'delivered_on':'2016-11-10',
'links':{
'filing':'DELETED'
},
'filing_type':'create-charge-with-deed'
}
],
'particulars':{
'contains_negative_pledge':True,
'contains_fixed_charge':True,
'floating_charge_covers_all':True,
'contains_floating_charge':True
},
'persons_entitled':[
{
'name':'DELETED'
}
],
'charge_number':58,
'status':'outstanding',
'charge_code':'DELETED',
'links':{
'self':'DELETED'
},
它是[项目,链接,自我]数据
如果我使用以下代码尝试访问它:
for each in data['items']['links']:
print(each['self'])
我收到以下错误:
File "<stdin>", line 1, in <module>
TypeError: list indices must be integers or slices, not str
如果我尝试使用以下代码访问它:
for each in data['items'][0]['links']:
print(each['self'])
我收到此错误:
File "<stdin>", line 2, in <module>
TypeError: string indices must be integers
我只是无法理解为什么它向我抛出这个错误,互联网上的所有其他响应指向我试图解析字符串而不是实际的json对象,但每当我运行命令时:
type(data)
它返回:
<class 'dict'>
所以我知道它是一本字典,它应该能够遍历密钥.
我敢肯定我犯了一个非常愚蠢的错误,如果是这样我道歉但我无法弄清楚我做错了什么,有人可以帮忙吗?
附:抱歉这篇长篇文章.
编辑:
非常感谢您的所有回复,现在似乎有意义.我们一度都是学习者!
内容总结
以上是互联网集市为您收集整理的TypeError:使用Python解析Json时,字符串索引必须是整数错误全部内容,希望文章能够帮你解决TypeError:使用Python解析Json时,字符串索引必须是整数错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。