Python 如何从SQL查询创建JSON文件?
我正在从SQL查询创建一个JSON文件。但我无法真正创造。问题是有一个“items”对象,它有产品。但我的产品不是直接在“项目”对象中创建的 密码Python 如何从SQL查询创建JSON文件?,python,json,sqlite,Python,Json,Sqlite,我正在从SQL查询创建一个JSON文件。但我无法真正创造。问题是有一个“items”对象,它有产品。但我的产品不是直接在“项目”对象中创建的 密码 import json import collections import sqlite3 conn = sqlite3.connect('database.db') cursor = conn.cursor() cursor.execute("SELECT barcode,listPrice,salePrice FROM product
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\u list={}
对象列表[“项目”]=[]
并附加到对象列表[“项”]
objects\u list[“items”]。追加(d)
您可以使用SQLite代码执行此操作:
SELECT json_object("items",
json_group_array(
json_object(
'barcode', barcode,
'listPrice', listPrice,
'salePrice', salePrice
)
)
) result
FROM productstable
请参阅。结果:
谢谢你的帮助。我得写字典:)谢谢你,亲爱的巴巴拉斯·霍卡姆。你让这个问题可以理解。不客气,兄弟:)这看起来不错。我可以在Postgre中使用它吗?@HASANHÜSEYİNYÜCEL我相信Postgresql也有类似的功能。我可以检查一下,如果我发现什么,我会把它发出去。@HASANHÜSEYİNYÜCEL你是说链接:它对我有用。试试这个:also@HASANHÜSEYİNYÜCEL For Postgresql更简单:或者:非常有用:)谢谢
{"items":
[
{"barcode":"1952084972279","listPrice":100.5,"salePrice":99.0},
{"barcode":"1952084972280","listPrice":115.3,"salePrice":100.0}
]
}