解析 MySQL 中 Flask 的 json 以获取记录中的字段

2024-10-01 15:38:45 发布

您现在位置:Python中文网/ 问答频道 /正文

请注意,我对烧瓶和Python还不熟悉,我很感激任何人给予的帮助。我希望访问JSON响应的一个字段(只是字段而不是整个响应),我应该如何解析响应。下面附上回复图片,谢谢。

这是我的主线

from flask import Flask,render_template,request
from Qhandler import Qhandler
from MakePlayer import MakePlayer
app = Flask(__name__)

@app.route('/createplayer',methods=['GET','POST'] )
def showCreatePlayer():
    if request.method == 'POST':
        MakePlayer(request.form['playername'],request.form['playerteam'],request.form['playerrole'], request.form['playerpos'])
        return "created player: <br>"+request.form['playername']+" "+request.form['playerteam']+" "+request.form['playerrole']+" "+request.form['playerpos']

    return render_template("createPlayer.html")

@app.route('/sucess')
def success():
    return "success"

@app.route('/showplayers')
def showPlayers():
    Q = Qhandler()
    return Q.displayQuery(""" select * from Player""")

if __name__ == '__main__':
    app.run(debug=True)


这是我的查询处理程序

^{pr2}$

电流响应

screenshot of results


Tags: namefromimportformappflaskreturnrequest
1条回答
网友
1楼 · 发布于 2024-10-01 15:38:45

使用“fetchedData=json.dumps文件(fetchedData)”而不是“fetchedData=jsonify(fetchedData)”,然后创建一个json解码器并解析响应,请参阅以下内容:

def displayQuery(self,query):
        try:
            connection = mysql.connect()
            cursor = connection.cursor()
            cursor.execute(query)
            fetchedData = cursor.fetchall()
            fetchedData = json.dumps(fetchedData)
            #create a json decoder
            d = json.JSONDecoder()
            fieldPlayerName = d.decode(fetchedData)
            #parse the json that is returned ( fieldPlayerName[0][1])
            print "should print the field with the player name",fieldPlayerName[0][1]
            return fieldPlayerName[0][1]

相关问题 更多 >

    热门问题