Python遍历JSON数据:如何通过GET请求获取所有产品ID?
解决遍历所有产品ID的问题
嘿,我来帮你搞定这个遍历产品ID的需求!你之前的代码只取了products列表里的第一个元素(通过索引[0]),所以只要循环整个products列表就能拿到所有ID啦,我给你两种实用的方案:
方案1:基础for循环(直观易理解)
这是最直接的方式,逐个遍历列表里的每个产品对象,提取ID:
import requests import json response = requests.get("APIURL") data = response.text parsed = json.loads(data) # 遍历products列表中的每一个产品 for product in parsed["products"]: # 注意:别用id当变量名,它是Python内置函数,换成product_id更安全 product_id = product["id"] print(product_id)
方案2:列表推导式(简洁高效)
如果想把所有ID收集到一个列表里方便后续使用,用列表推导式会更简洁,另外还可以用requests自带的response.json()方法省掉手动解析JSON的步骤:
import requests response = requests.get("APIURL") # 直接用response.json()解析响应,不用再import json和loads parsed = response.json() # 一行代码收集所有产品ID到列表 all_product_ids = [product["id"] for product in parsed["products"]] # 打印所有ID,或者后续用这个列表做其他操作 print(all_product_ids)
小提醒
- 一定要避免用
id作为变量名,它是Python的内置函数,会覆盖原有功能,导致奇怪的问题; - 如果API返回的结构可能有变化,建议先判断
parsed["products"]是否是列表,比如加个if isinstance(parsed.get("products"), list):,避免出现类型错误。
内容的提问来源于stack exchange,提问作者Solaiman
相关产品推荐
相关产品推荐

