Python如何解析API返回的JSON值并提取active为True的数据库名称
解决方案
你只需要在遍历API返回的JSON结构时,增加active字段的判断条件即可,以下是具体实现代码:
方法1:直接从请求响应中提取激活数据库名
# 先将请求返回的响应对象赋值给status变量 status = s.get(get_active, verify=False, headers={'Content-Type': 'application/json'}, cookies=r.cookies) active_db_name = None for item in status.json(): if item["active"]: active_db_name = item["dbName"] # 确认激活态数据库唯一的场景下,找到后可直接退出循环提升效率 break # 输出结果,后续离线备份直接使用active_db_name变量即可 print(active_db_name)
方法2:基于你现有生成的table列表提取
如果你已经生成了存储所有数据库名和激活状态的table列表,可直接遍历该列表:
active_db_name = None for db_name, is_active in table: if is_active: active_db_name = db_name break print(active_db_name)
精简写法(生成器表达式)
如果追求代码简洁,也可以用生成器表达式直接取值,支持设置默认值避免无激活数据库时报错:
status = s.get(get_active, verify=False, headers={'Content-Type': 'application/json'}, cookies=r.cookies) # 第二个参数为无激活数据库时返回的默认值,可根据需求调整 active_db_name = next((item["dbName"] for item in status.json() if item["active"]), None) print(active_db_name)
内容的提问来源于stack exchange,提问作者bkr88
相关产品推荐
相关产品推荐

