1. 程式人生 > >Python flask中mysql查詢返回json格式資料

Python flask中mysql查詢返回json格式資料

在進行web專案開發時,經常需要查詢資料庫並返回json格式給前端,Java中可以使用JSONObject或mybatis直接就可以對映成map結構,而python中返回的是元組的形式(('a',1,2), ('b',2,3), ...)。下面提供幾種在python flask中轉換為json格式的方式。

迴圈遍歷

最簡單粗暴的方式就是遍歷結果集,使用字典進行包裝,最後使用flask的jsonify將其轉換為json格式,參考程式碼如下:

def index():
   cur = mysql.connection.cursor()
   cur.execute('''SELECT * FROM Users WHERE id=1'''
) rv = cur.fetchall() payload = [] content = {} for result in rv: content = {'id': result[0], 'username': result[1], 'password': result[2]} payload.append(content) content = {} return jsonify(payload)

直接設定Mysqldb返回字典結構

db  = MySQLdb.connect(host='localhost', user=
'root', passwd='123456', db='test') cur = db.cursor(cursorclass=MySQLdb.cursors.DictCursor)

只需要在最後設定cursorclass可選引數即可

在flask中設定

我使用的是flask-mysqldb擴充套件,只需要在配置中設定MYSQL_CURSORCLASS='DictCursor'即可。

參考