python的新手,我正在尝试编写一个脚本来解析一个json文件,只打印出状态不是"STARTED"并退出代码2的任何值的id和状态.如果他们都说STARTED则不打印任何内容并退出0.
但是,我收到错误"字符串索引必须是整数"任何关于我如何尝试阅读这个json的问题的建议?
import json
jsonFile = open('topics.json', 'r')
data = json.load(jsonFile)
for check in data['rows']:
if check['state'] is not "STARTED":
print check['id']['state']
Run Code Online (Sandbox Code Playgroud)
这是我的topics.json的一个例子
{
"page": 0,
"page_size": 100,
"total_pages": 10,
"total_rows": 929,
"headers": [
"*"
],
"rows": [
{
"id": "168",
"state": "STARTED"
},
{
"id": "169",
"state": "FAILED"
},
{
"id": "170",
"state": "STARTED"
}
]
}
Run Code Online (Sandbox Code Playgroud)
你想要的print check['id'],check['state'].
check['id']返回一个字符串,因此check['id']['state']尝试使用字符串而不是整数来索引字符串,从而导致错误.
此外,不平等的比较!=不应该使用is not. is比较对象标识,两个对象可以具有相同的值而不是同一个对象,因此使用:
if check['state'] != "STARTED":
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
652 次 |
| 最近记录: |