Python 从表中查询并作为JSON返回
所以我试图从数据库中的表中进行查询。顺便说一句,我正在使用python。我想通过循环将它们作为JSON返回 但我只返回表中的一行,如下所示:Python 从表中查询并作为JSON返回,python,json,sqlalchemy,flask-sqlalchemy,Python,Json,Sqlalchemy,Flask Sqlalchemy,所以我试图从数据库中的表中进行查询。顺便说一句,我正在使用python。我想通过循环将它们作为JSON返回 但我只返回表中的一行,如下所示: { "content": "content1", "date": "date1", "title": "title1" } { "content": "content1", "date": "date1", "title": "title1" }, { "content": "content
{
"content": "content1",
"date": "date1",
"title": "title1"
}
{
"content": "content1",
"date": "date1",
"title": "title1"
},
{
"content": "content2",
"date": "date2",
"title": "title2"
},
{
"content": "content3",
"date": "date3",
"title": "title3"
}
这是我的密码:
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": "content1",
"date": "date1",
"title": "title1"
},
{
"content": "content2",
"date": "date2",
"title": "title2"
},
{
"content": "content3",
"date": "date3",
"title": "title3"
}
我在这里遗漏了什么?我想你应该先创建一个列表。并附加所有数据和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 }))
在for循环中有一个
return
,因此循环将在一次迭代后终止。您可能想创建一个列表,然后在循环中将字典附加到列表中。循环后返回json编码的列表。是的,我同意Ilja。JSON有两种数据类型:对象和数组。如果您在括号方面有问题,可以用子字符串替换。@IljaEverilä是的,我刚刚确认了。我的坏消息我将删除我的评论