【发布时间】:2020-10-19 01:21:19
【问题描述】:
我正在使用一个 OKR 程序,我试图从它的 API 中提取目标和关键结果(下面的示例匿名 JSON 输出)。我想使用 while 循环来遍历目标可能具有的一个或多个关键结果。但是,我在 "metric_name =(u['people_goals'][0]['goal_metrics'][keymetric_start]['metric_name'])" 行中遇到 [keymetric_start] 的回溯错误,说“IndexErrorL 列表索引超出范围”。如何让它接受 keymetric_start 作为变量?非常感谢!
{
"success": true,
"message": "",
"data": {
"totalCount": 14,
"goal": [{
"user_id": 12345,
"people_goals": [{
"goal_id": 13579,
"goal_name": "move the business forward",
"goal_metrics": [{
"metric_id": "2468",
"metric_name": "Raise more money",
"metric_progress": "50"
},
{
"metric_id": "2469",
"metric_name": "Get more financing",
"metric_progress": "25"
},
{
"metric_id": "2470",
"metric_name": "Understand risks",
"metric_progress": "75"
}
],
"goal_metrics_count": 3
},
}
]
}
]
}
}
for u in js['data']['goal']:
goal_name = (u['people_goals'][0]['goal_name'])
keymetric_count = (u['people_goals'][0]['goal_metrics_count'])
keymetric_start = 0
while keymetric_start <= keymetric_count:
metric_name =(u['people_goals'][0]['goal_metrics'][keymetric_start]['metric_name'])
keymetric_start = keymetric_start +1
【问题讨论】:
标签: json data-extraction