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

Flask中使用jsonify如何正确返回包含全部学生数据的字典内容?

问题原因

你代码的核心错误是容器类型选择错误+循环赋值逻辑错误:

  • 你将studentList2定义为字典类型,每次循环直接对它做赋值操作,新的学生字典会覆盖旧值,最终只会保留最后一次循环的学生数据
  • 多组同结构的学生数据应该用列表存储,每次循环将单条学生字典追加到列表中即可

修正后的代码

@app.route('/students')
def students():
    # 不要用list作为变量名,避免覆盖Python内置的list关键字
    student_list = Student.query.all()

    # 定义列表存储所有学生的字典数据
    student_list_2 = []
    for student in student_list:
        student_item = {'id': student.id, 'title': student.title, 'email': student.email}
        student_list_2.append(student_item)

    # 直接jsonify列表即可,Flask会自动处理为标准JSON数组格式
    return jsonify(student_list_2)

可选:外层包裹字典格式

如果接口要求响应整体为字典结构而非数组,可以按如下格式返回:

return jsonify({
    "code": 200,
    "message": "查询成功",
    "data": student_list_2
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:24:08