使用Python解析JSON:TypeError:list indices必须是整数,而不是str
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用Python解析JSON:TypeError:list indices必须是整数,而不是str,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1624字,纯文字阅读大概需要3分钟。
内容图文
我正在使用Python来解析特定值的一些JSON数据.具体来说,我想提出以下内容:
> author_id
> created_at
>公众
Python代码看起来像;
import json
import requests
# Set the request parameters
url = 'https:<MYURL.json'
user = 'MY_USER'
pwd = 'MY_PWD'
# Do the HTTP get request
response = requests.get(url, auth=(user, pwd))
# Check for HTTP codes other than 200
if response.status_code != 200:
print('Status:', response.status_code, 'Problem with the request. Exiting.')
exit()
# Decode the JSON response
data = response.json()
# Print each value
field_list = data['audits']
for fields in field_list:
print(fields['author_id'])
print(fields['created_at'])
print(fields['events']['public'])
print '\n'
我的代码错误:
File "get_ticket_updates.py", line 27, in <module>
print(fields['events']['public'])
TypeError: list indices must be integers, not str
我得到public的值是一个字符串,它需要是整数所以,我怎么能用这个?
数据看起来像:
{
"audits": [
{
"id": 20994687984,
"ticket_id": ####,
"created_at": "2014-09-15T16:30:11Z",
"author_id": 312016568,
"via": {
"channel": "email",
"source": {
"from": {
"address": "email@domain.com",
"name": "user name",
"original_recipients": [
"email@domain.com",
"email@domain.com"
]
},
"to": {
"address": "email@domain.com",
"name": "My Portal"
},
"rel": null
}
},
},
{
"id": 20994845144,
"ticket_id": ####,
"created_at": "2014-09-15T16:32:18Z",
"author_id": 233915468,
"via": {
"channel": "web",
"source": {
"from": {},
"to": {},
"rel": null
}
},
"events": [
{
"id": 20994845154,
"type": "Comment",
"author_id": 233915468,
"body": "<SOME TEXT>",
"public": true,
"attachments": []
},
解决方法:
字段[‘events’] [‘public’]的内容应该是字段[‘events’] [0] [‘public’]
内容总结
以上是互联网集市为您收集整理的使用Python解析JSON:TypeError:list indices必须是整数,而不是str全部内容,希望文章能够帮你解决使用Python解析JSON:TypeError:list indices必须是整数,而不是str所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。