आप पंक्ति शीर्षलेख निकालने के लिए कर्सर विवरण का उपयोग कर सकते हैं:row_headers=[x[0] for x in cursor.description]
निष्पादन कथन के बाद। फिर आप इसे json डेटा बनाने के लिए sql के परिणाम के साथ ज़िप कर सकते हैं। तो आपका कोड कुछ इस तरह होगा:
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)
रिटर्न स्टेटमेंट में आप jsonify
. का इस्तेमाल कर सकते हैं के बजाय json.dumps
जैसा कि रिकलान ने टिप्पणियों में सुझाया है।