Python flask中mysql查詢返回json格式資料
阿新 • • 發佈:2018-12-15
在進行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'
即可。