【发布时间】:2018-07-15 05:02:37
【问题描述】:
我整个周末都被困在这个问题上,有人可以帮帮我吗?
我正在尝试解析嵌套的 JSON 响应。我似乎无法返回我需要的值,每当我尝试解析它时,我都会收到关于“字符串索引必须是整数”的错误......
我想要实现的是:对于 JSON 中的每个对象,提取 available_projects,然后从每个对象中提取 available_models。比如第一个应该是:model001,model_20171004-090552。
示例 JSON 响应:
{
"available_projects": {
"model001": {
"available_models": [
"model_20171004-090552"
],
"status": "ready"
},
"model002": {
"available_models": [
"model_20171013-143108"
],
"status": "ready"
},
"model002b": {
"available_models": [
"model_20171013-151458"
],
"status": "ready"
}
}
我的代码:
myText = requests.get('http://localhost:5000/status')
jsonresponse = json.loads(myText.text)
for element in jsonresponse[u'available_projects']:
for AM in element[u'available_models']: ## this gives me the errors..
print AM
如果我只是执行“for element in jsonresponse[u'available_projects']: print element”语句,它会正确打印 available_projects 列表。如何使用该输出对 JSON 进行更深入的研究?
任何帮助或代码 sn-p 都会很棒 - 谢谢!!
【问题讨论】:
-
当您执行
for element in jsonresponse[u'available_projects']:时,您正在迭代字典的 keys(即element是一个字符串)。你想迭代字典的 values 。
标签: python json parsing nested