我正在从 SQL 查询创建一个 JSON 文件。但我无法真正创造。问题是有一个“元素”对象,它有产品。但是我直接在“项目”对象中创建产品。
编码。
import json
import collections
import sqlite3
conn = sqlite3.connect('database.db')
cursor = conn.cursor()
cursor.execute("SELECT barcode,listPrice,salePrice FROM productstable")
rows = cursor.fetchall()
objects_list = []
for row in rows:
d = collections.OrderedDict()
d["barcode"] = row[0]
d["listPrice"] = row[1]
d["salePrice"] = row[2]
objects_list.append(d)
j = json.dumps(objects_list,indent=4)
with open("products.json", "w") as f:
f.write(j)
conn.close()
结果产生以下 JSON 对象[
{
"barcode": "1952084972279",
"listPrice": 100.5,
"salePrice": 99
},
{
"barcode": "1952084972280",
"listPrice": 115.3,
"salePrice": 100
}
]
而所需的应该如下{
"items": [
{
"barcode": "1952084972279",
"salePrice": 100.5,
"listPrice": 99
},
{
"barcode": "1952084972280",
"salePrice": 115.3,
"listPrice": 100
}
]
}
最佳答案
定义 objects_list
作为字典而不是列表。
objects_list = {}
objects_list["items"] = []
并附加到 objects_list["items"]
.objects_list["items"].append(d)
关于python - 如何从 SQL 查询创建 JSON 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66601191/