sql >> Database teknologi >  >> RDS >> Mysql

Python konverterer mysql-forespørgselsresultat til json

Du kan bruge markørbeskrivelse til at udtrække rækkeoverskrifter:row_headers=[x[0] for x in cursor.description] efter execute-erklæringen. Så kan du zippe den med resultatet af sql for at producere json-data. Så din kode vil være noget i retning af:

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)

I return-sætningen kan du bruge jsonify i stedet for json.dumps som foreslået af RickLan i kommentarerne.



  1. Sådan aktiveres en fremmednøglebegrænsning i SQL Server (T-SQL-eksempler)

  2. 2 måder at formatere et tal med førende nuller i Oracle

  3. Hash MySQL-databaseskema

  4. ANDROID&PHP - Sådan viser du JSONArray fra MySql ved hjælp af PHP