python - 将mysql查询结果(对象数组)转换为json
问题描述
我想从 mysql 查询结果转换。
DealerID | Dealer Name | SubDealerID | Subdealer Name
AL06 A L A S K A 0001 A L A S K A JKT
AL06 A L A S K A AG01 AGUS SANTOSO,BPK.
AL06 A L A S K A IM01 IMPERIAL, TOKO
AL09 ALFA ELECTRONIC 0001 ALFA ELECTRONIC
AL09 ALFA ELECTRONIC AN01 ANGGA MUHAMAD SOLEH
AL09 ALFA ELECTRONIC ER01 ERWIN KURNIAWAN
AL10 PT.ALFA 0001 PT.ALFA RETAILINDO TBK
AL10 PT.ALFA AL01 PT. ALFA RETAILINDO TBK
AL10 PT.ALFA AL02 PT.ALFA RETAILINDO TBK DPK
AL10 PT.ALFA AL03 PT.ALFA RETAILINDO TBK STR
AL10 PT.ALFA AL04 PT.ALFA RETAILINDO TBK
AL10 PT.ALFA AL05 PT.ALFA RETAILINDO TBK KBY
我需要使用 python flask 转换为这种 json 格式:
{
"data":
{
"dealerID": "AL06",
"dealer": "A L A S K A",
"sdealer" : [
{ "sdi": "AG01","sdealer": "AGUS SANTOSO,BPK."},
{ "sdi": "IM01","sdealer": "IMPERIAL, TOKO"}
]
}
}
有人可以帮我吗,谢谢
解决方案
也许我做得不好。但我已经尽力了,这是我的想法:
jsons = {"data":[]}
det = {} # use to check if have same id
#query() return cursor.fetchall()
for p in query("select * from temp"):
if p[0] in list(det.keys()):
jsons["data"][ det[ p[0] ] ]["sdealer"].append({ "sdi": p[2],"sdealer": p[3]})
else:
form = { "dealerID":p[0],
"dealer":p[1],
"sdealer":[
{ "sdi": p[2],"sdealer": p[3]}
]}
det[p[0]] = 0 if det == {} else list(det.values())[-1] + 1
jsons["data"].append(form)
print(jsons)
推荐阅读
- vba - 在 MS Word 中的“另存为”事件后更新所有字段?
- javascript - 如何在同一个空间设置多个sideToggles?
- html - 如何强制 Instagram 应用内网络浏览器刷新页面?
- mysql - 有人可以帮助我在百里香中进行多个下拉菜单吗?
- javascript - 当我知道所有异步调用都已完成时,如何运行回调?
- c++ - 如何在 C++ 中使用 ascii 艺术将艺术打印到屏幕上
- ios - NavigationView 的 SwiftUI 自定义后退按钮文本
- c# - 更改后如何获取自动实现属性 C# 6.0 的默认编译时值?
- reactjs - 保存时 React Redux 中的引用项状态未更新
- tomcat - 在 web.xml 中添加 servlet 后,tomcat 404 未发现错误