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

如何从数据库查询结果生成指定结构的JSON字符串

解决从数据库查询结果生成指定结构JSON的问题

你想要生成一个单一JSON对象(键为分类ID、值为分类名称),但目前代码生成的是包含多个小对象的JSON数组,问题出在你用列表来收集数据,而非直接构建字典。

调整思路,直接初始化一个空字典来存储键值对,就能得到你想要的结构:

import json

# 初始化空字典替代列表
cat_dict = {}
cats = Category.query.all()

for cat in cats:
    # 将整数ID转为字符串(JSON规范要求对象键必须是字符串类型)
    cat_dict[str(cat.id)] = cat.name

# 直接序列化这个字典
json_cat = json.dumps(cat_dict)

运行这段代码后,json_cat会输出你期望的格式:

{"1": "test_1", "2": "test_2", "3": "test_3", "4": "test_4", "5": "test_5"}

额外补充:如果你的cat.id在数据库中本身就是字符串类型,可以省略str()转换,但多数场景下数据库ID是整数,转换为字符串能确保完全符合JSON规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:40:55