Python/sqlite3 查询列名转为 JSON
我想把SQL查询的结果以JSON格式返回,并且列名也要包含在里面,这样我就可以在客户端创建一个表格。但我还没有找到合适的解决办法。
我的代码:
json_data = json.dumps(c.fetchall())
return json_data
我希望得到这样的输出:
{
"name" : "Toyota1",
"product" : "Prius",
"color" : [
"white pearl",
"Red Methalic",
"Silver Methalic"
],
"type" : "Gen-3"
}
有没有人知道怎么解决这个问题?
1 个回答
1
你的代码只返回了数据的值。如果你想要获取列的名称,还需要查询一个叫做'sqlite_master'的表,这个表里有用来创建表的SQL语句。
c.execute("SELECT sql FROM sqlite_master WHERE " \
"tbl_name='your_table_name' AND type = 'table'")
create_table_string = cursor.fetchall()[0][0]
这样你就可以得到一个字符串,从中提取出列的名称:
"CREATE TABLE table_name (columnA text, columnB integer)"