sql >> データベース >  >> RDS >> Mysql

mysqlクエリ結果をjsonに変換するPython

    カーソルの説明を使用して、行ヘッダーを抽出できます。row_headers=[x[0] for x in cursor.description] executeステートメントの後。次に、それをsqlの結果と一緒にzipして、jsonデータを生成できます。したがって、コードは次のようになります。

    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)
    

    returnステートメントでは、jsonifyを使用できます。 json.dumpsの代わりに コメントでRickLanによって提案されたように。



    1. postgresql:md5メッセージダイジェストのデータ型?

    2. mysqlデータベースが存在するかどうかを確認し、結果に基づいてアクションを実行します

    3. Ubuntuでmysqlサーバーを起動できません

    4. HibernateはMySQLのONDUPLICATEKEY UPDATE構文で動作しますか?