Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Python chuyển đổi kết quả truy vấn mysql thành json

Bạn có thể sử dụng mô tả con trỏ để trích xuất tiêu đề hàng:row_headers=[x[0] for x in cursor.description] sau câu lệnh thực thi. Sau đó, bạn có thể nén nó với kết quả là sql để tạo ra dữ liệu json. Vì vậy, mã của bạn sẽ giống như sau:

from flask import Flask
from flask.ext.mysqldb import MySQL
import json
app = Flask(__name__)
app.config['MYSQL_HOST'] = '127.0.0.1'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = 'password'
app.config['MYSQL_DB'] = 'hello_db'
mysql = MySQL(app)

@app.route('/hello')
def index():
   cur = mysql.connection.cursor()
   cur.execute('''SELECT * FROM Users WHERE id=1''')
   row_headers=[x[0] for x in cur.description] #this will extract row headers
   rv = cur.fetchall()
   json_data=[]
   for result in rv:
        json_data.append(dict(zip(row_headers,result)))
   return json.dumps(json_data)

if __name__ == '__main__':
   app.run(debug=True)

Trong câu lệnh trả về, bạn có thể sử dụng jsonify thay vì json.dumps theo đề xuất của RickLan trong phần bình luận.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao tôi không thể chèn 10 chữ số khi cột của tôi là INT (10)

  2. MySql phiên bản di động

  3. Làm cách nào để cài đặt mysql im lặng trong thiết lập đổi mới?

  4. Không thể lấy số hàng và tìm nạp khi sử dụng câu lệnh chuẩn bị MySQLi

  5. FIND_IN_SET () so với IN ()