我需要从将信息加载到MySQL数据库所需的JSON字符串中提取ID
。 ID是5位或6位数字,但包含此数字的JSON密钥是URL net_devices
资源字符串,其末尾的数字如下例所示:
{u'router': u'https://www.somecompany.com/api/v2/routers/123456/'}
由于没有只有ID的密钥,我使用以下命令只返回JSON密钥字符串中的ID:
url = 'https://www.somecompany.com/api/v2/net_devices/?fields=router,service_type'
r = json.loads(s.get((url), headers=headers).text)
status = r["data"]
for item in status:
type = item['service_type']
router_url = item['router']
router_id = router_url.replace("https://www.somecompany.com/api/v2/routers/", "")
id = router_id.replace("/", "")
print id
这确实只返回我想要的ID值,如果结果的位数变化则无关紧要。
问题:当我在print语句上方包含两行时,此代码会创建一个无限循环。
如何更改语法以允许循环在所有返回的ID
中运行一次,但仍然删除除数字ID
之外的所有内容?
我是Python的新手,在大学毕业后经过很长时间的间歇后才开始重新编写代码。任何帮助将不胜感激!
更新 谢谢大家的反馈!在David和Gerrat的帮助下,我能够找到导致无限循环的问题,而不是代码的这一部分,而是另一个没有正确缩进的部分。我正在学习如何在Python中正确缩进循环,这是我的一个愚蠢的错误!再次感谢您的帮助!