You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FastAPI接口无法返回ID列表问题求助

问题原因

你的循环代码里,return house["id"]会在第一次迭代时直接终止函数并返回结果,所以只会拿到第一个house的ID,后续循环根本不会执行。

解决方案

要返回所有ID的列表,你需要先收集所有ID到一个容器中,最后统一返回:

方法1:普通循环收集

@app.get("/")
async def read_root():
    houses = json.load(open("data.json"))["houses"]["house"]
    house_ids = []
    for house in houses:
        house_ids.append(house["id"])
    return house_ids

方法2:列表推导式(更简洁)

@app.get("/")
async def read_root():
    houses = json.load(open("data.json"))["houses"]["house"]
    return [house["id"] for house in houses]

额外建议:处理文件时用with语句管理上下文,避免资源泄漏:

@app.get("/")
async def read_root():
    with open("data.json") as f:
        houses = json.load(f)["houses"]["house"]
    return [house["id"] for house in houses]

内容的提问来源于stack exchange,提问作者Paulo Alves

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 10:55:20