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

Python数据库查询返回JSON仅获单行数据的问题及解决需求

解决多行JSON数据返回问题

哦,我知道问题出在哪了!你现在的代码里,return语句放在循环里面了——只要第一次循环执行到return,整个函数就直接结束了,后面的查询结果根本没机会被处理,所以只能返回单行数据。

要返回所有查询结果的JSON数组,你需要先把所有数据收集到一个列表里,再一次性返回这个列表:

方法一:普通循环收集数据

ann = Announcements.query.all()
# 创建一个空列表用来存所有数据字典
result_list = []
for data in ann:
    # 把每条数据转成字典,添加到列表中
    result_list.append({
        'date': data.date,
        'title': data.title,
        'content': data.content
    })
# 把整个列表传给jsonify返回,会自动转成JSON数组格式
return jsonify(result_list)

方法二:用列表推导式简化代码

如果想让代码更简洁,可以用Python的列表推导式一步完成数据收集:

ann = Announcements.query.all()
result_list = [
    {'date': data.date, 'title': data.title, 'content': data.content} 
    for data in ann
]
return jsonify(result_list)

这样返回的结果就是标准的JSON数组格式,比如:

[{"content": "content1", "date": "date1", "title": "title1"}, {"content": "content2", "date": "date2", "title": "title2"}]

这种格式前端也能轻松解析处理所有数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:26:12