python / sqlite3查询,列名为JSON

时间:2014-04-17 00:11:11

标签: python sqlite

我想返回一个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 个答案:

答案 0 :(得分: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)"