程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Python将MySQL查询结果转换为JSON大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Python将MySQL查询结果转换为JSON?

开发过程中遇到Python将MySQL查询结果转换为JSON的问题如何解决?下面主要结合日常开发的经验,给出你关于Python将MySQL查询结果转换为JSON的解决方法建议,希望对你解决Python将MySQL查询结果转换为JSON有所启发或帮助;

您可以使用游标描述来提取行标题: row_headers=[x[0] for x in cursor.description]execute语句之后。然后,您可以将其与sql的结果一起压缩以生成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的意见建议。

解决方法

我正在尝试实现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"
}

大佬总结

以上是大佬教程为你收集整理的Python将MySQL查询结果转换为JSON全部内容,希望文章能够帮你解决Python将MySQL查询结果转换为JSON所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。