我想制作一个json文件,其结果来自我的数据库,所以,我从数据库中获取结果,我正在制作json:
max()
我的json出类似于:
function
但我想要像
for result in data_list:
json_data.append(dict(zip(column_names, result)))
json_out = json.dumps(json_data, indent=4)
怎么可能?
答案 0 :(得分:0)
由于您的预期输出无效JSON(或者首先是有意义的),您应该有一个Python字典,其中包含一个名为employees
的元素,并为其分配json_data
。
然后,您在该字典上调用json_dumps()
:
for result in data_list:
json_data.append(dict(zip(column_names, result)))
final_json = {} # this is the Python dict I was talking about
final_json['employees'] = json_data
json_out = json.dumps(final_json, indent=4)
结果:
{
"employees": [
{
"surname": "so",
"name": "gi"
},
{
"surname": "lo",
"name": "lo"
}
]
}
这是您想要的数据的良好表示,因为您代表的是员工的静态列表,必须表示为数组。
答案 1 :(得分:0)
您可以尝试使用tablib
import tablib
headers = ["name", "surname"]
data = [
("jhon", "smit"),
("george", "black")
]
data = tablib.Dataset(*data, headers=headers)
data.json
[{"name": "jhon", "surname": "smit"}, {"name": "george", "surname": "black"}]