如何在Python中循环提取JSON响应数组内的所有compositionId值
解决方案
你的代码里存在冗余操作:json.loads(r.content.decode())执行后已经得到了解析完成的Python列表对象,后续转JSON字符串再重新解析的步骤完全多余,可以直接删除。
提取compositionId的代码可以参考如下写法:
import requests import json url = 'http://192.168.1.33/data' r = requests.get(url) resp = json.loads(r.content.decode()) # 方式1:遍历逐个打印取值 for entry in resp: print(entry["compositionId"]) # 方式2:将所有取值存入列表供后续逻辑使用 id_list = [entry["compositionId"] for entry in resp] print(id_list)
如果不能保证每个列表元素都存在compositionId字段,可以用get方法避免抛出KeyError异常:
for entry in resp: print(entry.get("compositionId"))
执行后就能得到你需要的所有compositionId取值:['-Mkl92Mii2UF3xzi1q7L', 'bbbbbb']
内容的提问来源于stack exchange,提问作者Martin Schilder
相关产品推荐
相关产品推荐

