从表中查询并返回JSON

时间:2018-04-29 09:38:48

标签: python json sqlalchemy flask-sqlalchemy

所以我试图从我的数据库中的表中查询。我正在使用python btw。我想通过循环将它们作为JSON返回。

但我只从表中返回一行,如下所示:

{
    "content": "content1", 
    "date": "date1", 
    "title": "title1"
}

这是我的代码:

ann = Announcements.query.all()

for data in ann:
    return jsonify({'date': data.date, 'title': data.title, 'content': data.content })

我想要返回这样的内容:

{
    "content": "content1", 
    "date": "date1", 
    "title": "title1"
},
{
    "content": "content2", 
    "date": "date2", 
    "title": "title2"
},
{
    "content": "content3", 
    "date": "date3", 
    "title": "title3"
}

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

我认为你应该首先创建一个列表。并附加所有数据并进行jsonify。如果你返回jsonify,你应该使用方法。

def jsonify(ann):
    my_list = []
    for data in ann:
      my_list.append({'date': data.date, 'title': data.title, 'content': data.content })
    return jsonify(my_list)

否则你应该循环打印你的数据

for data in ann:
   print(jsonify({'date': data.date, 'title': data.title, 'content': data.content }))

Look at this for more details