使用python解析json-字符串索引必须是整数
python新手,我正在尝试编写一个脚本来解析json文件,以便只打印出状态未“启动”的任何值的id和状态,并退出代码2。如果他们都说启动并退出0,则不打印任何内容 然而,我得到了错误“字符串索引必须是整数”关于如何读取此json的问题,有什么建议吗使用python解析json-字符串索引必须是整数,python,json,Python,Json,python新手,我正在尝试编写一个脚本来解析json文件,以便只打印出状态未“启动”的任何值的id和状态,并退出代码2。如果他们都说启动并退出0,则不打印任何内容 然而,我得到了错误“字符串索引必须是整数”关于如何读取此json的问题,有什么建议吗 import json jsonFile = open('topics.json', 'r') data = json.load(jsonFile) for check in data['rows']: if check['state']
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']
下面是我的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"
}
]
}
您需要
打印检查['id'],检查['state']
check['id']
返回一个字符串,因此check['id']['state']
尝试使用字符串而不是整数索引字符串,从而导致错误
此外,不平等性的比较应使用=代码>非不是<代码>是
比较对象标识,两个对象可以具有相同的值而不是相同的对象,因此使用:
if check['state'] != "STARTED":
您需要打印检查['id'],检查['state']
check['id']
返回一个字符串,因此check['id']['state']
尝试使用字符串而不是整数索引字符串,从而导致错误
此外,不平等性的比较应使用=代码>非不是<代码>是
比较对象标识,两个对象可以具有相同的值而不是相同的对象,因此使用:
if check['state'] != "STARTED":
就这样!非常感谢。就这样!非常感谢。