在Python中将数组转换为json

2024-09-30 06:13:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数组,它是使用SQLAlchemy从数据库查询中获得的,我想做两件事。在

  • 我想得到列的名称(或者类似于从表选择fullname作为“name n'name”的东西)。在
  • 我希望将最终产品转换为json对象数组,以便在前端使用它。在

我找了好几个小时,找不到一个对我的案子有用的答案。在

以下是查询数据库并将其存储在results变量中的代码行:

results = session.query(categories.categoryname, products.pack, products.price, products.checkstate).join(products).all()

以下是print(results)的输出:

[('chocolate', '3', 5, False), ('chocolate', '5', 7, False), ('chocolate', '10', 10, False), ('honey', '3', 5, False), ('honey', '5', 7, False), ('honey', '10', 10, False), ('candy', '3', 5, False), ('candy', '5', 7, False), ('candy', '10', 10, False)]

如果我使用json.dump(results)我会得到:

[["chocolate", "3", 5, false], ["chocolate", "5", 7, false], ["chocolate", "10", 10, false], ["honey", "3", 5, false], ["honey", "5", 7, false], ["honey", "10", 10, false], ["candy", "3", 5, false], ["candy", "5", 7, false], ["candy", "10", 10, false]]

现在更具体地说,我想说的是:

[{"type": "chocolate", "pack": "3", "price": 5, "checkstate": false}, ....etc... ]


Tags: name数据库jsonfalsesqlalchemy数组priceresults
1条回答
网友
1楼 · 发布于 2024-09-30 06:13:41

您可以简单地遍历元组列表来创建字典,然后将字典转换为JSON。像这样:

import json

data = [('chocolate', '3', 5, False), ('chocolate', '5', 7, False), ('chocolate', '10', 10, False), ('honey', '3', 5, False), ('honey', '5', 7, False), ('honey', '10', 10, False), ('candy', '3', 5, False), ('candy', '5', 7, False), ('candy', '10', 10, False)]

list = [{"pack": x[0], "pack": x[1], "price": x[2], "checkstate": x[3]} for x in data]

json.dumps(list)

相关问题 更多 >

    热门问题