首页 > 解决方案 > 如何在 Flask 的 jsonify 中返回“dict”?

问题描述

这是我的代码:

@app.route('/students')
def students():
    list = Student.query.all()
    print(type(list)) #class:list


    studentList2 ={}

    for student in list:
        studentList2= ({'id':student.id,'title':student.title,'email':student.email})
        print(studentList2) # the loop can show student1,2,3 etc. 
    print(type(studentList2)) #class:dict

    print(studentList2) # Only show the last student

    return jsonify(studentList2)

循环可以显示 student1,2,3 等。但我不知道如何返回 JSON。

标签: pythonfor-loopsqlalchemyflask-restful

解决方案


我假设您想返回所有学生数据。studentList2在你的代码中不是一个dict,你需要去掉(). btwlist是 python 中的关键字,因此不要覆盖它

@app.route('/students')
def students():
    lst = Student.query.all()

    studentList2 = []

    for student in lst:
        studentList2.append({'id':student.id,'title':student.title,'email':student.email})
    return jsonify(studentList2)

推荐阅读