我正在尝试实现REST API,其中的一部分是将数据格式化为JSON。我可以从MySQL数据库中检索数据,但是我收到的对象与我的期望不符。这是我的代码:
from flask import Flask
from flask.ext.mysqldb import MySQL
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''')
rv = cur.fetchall()
return str(rv)
if __name__ == '__main__':
app.run(debug=True)
结果:
((1L, u'my_username', u'my_password'),)
我要如何实现返回以下JSON格式:
{
"id":1,
"username":"my_username",
"password":"my_password"
}
Decimal('0.00') is not JSON serializable
错误。 - Ashok Srijsonify
是外部库。考虑尝试使用默认库。 - Manifrom flask_mysqldb import MySQL
如果您是初学者,请不要忘记将flask_mysqldb
添加到您的要求文件中或执行pip install flask_mysqldb
。 - Akhil