blo*_*tdj 1 python json python-3.x
我试图从数据库查询的输出创建一个简单的JSON对象,如下所示:
json_obj= {
'1': 'test_1',
'2': 'test_2',
'3': 'test_3',
'4': 'test_4',
'5': 'test_5',
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我一直在尝试循环和json.dumps,但无法正确:
cat_list = []
cats = Category.query.all()
for cat in cats:
item = {
cat.id: cat.name
}
cat_list.append(item)
json_cat_list = json.dumps(cat_list)
Run Code Online (Sandbox Code Playgroud)
这确实创建了一个JSON对象,但不完全是我正在寻找的东西.
json_obj= {
{'1': 'test_1'},
{'2': 'test_2'},
{'3': 'test_3'},
{'4': 'test_4'},
{'5': 'test_5'},
}
Run Code Online (Sandbox Code Playgroud)
有关如何做到这一点的任何建议?
非常感谢
你想要一个单一的 dict对象,而不是它们的列表.
cat_dict = {} # 1
for cat in Category.query.all():
cat_dict[cat.id] = cat.name # 2
json_cat_dict = json.dumps(cat_dict) # 3
Run Code Online (Sandbox Code Playgroud)
或者,(如下面提到的@Daniel Roseman)简洁,你可以将所有内容压缩成单个词典理解:
cat_dict = {cat.id: cat.name for cat in Category.query.all()}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |