我如何才能响应 Python Flask APP 中游标的列名?

How i could Column names in response from cursor in Python Flask APP?

我正在使用 Flask 在 Python 3 上开发 API 并尝试将数据插入 Mysql,但响应中只有值,我无法显示正确地在 Json 回答应用程序。 Python代码

app = Flask(__name__)
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = ''
app.config['MYSQL_DB'] = 'didaxis'
mysql = MySQL(app)

@app.route('/insertAlumno', methods = ['POST'])
def insertAlumno():
    nombre = request.json['nombre']
    apellidoPaterno = request.json['apellidoPaterno']
    apellidoMaterno = request.json['apellidoMaterno']
    fechaNacimiento = request.json['fechaNacimiento']
    direccion = request.json['direccion']
    telefono = request.json['telefono']
    correo = request.json['correo']
    matricula = request.json['matricula']
    curso = request.json['curso']

    dataUser = (nombre, apellidoPaterno, apellidoMaterno, fechaNacimiento, direccion, telefono, correo, matricula, curso)

    conect = mysql.connection.cursor()
    conect.callproc('insertarAlumno', dataUser)
    data = conect.fetchall()
    data=jsonify(data)

    return data

存储过程

DELIMITER //
CREATE PROCEDURE insertarAlumno(_nombre VARCHAR(50),
                                _apellidoPaterno VARCHAR(30),
                                _apellidoMaterno VARCHAR(30),
                                _fechaNacimiento DATE,
                                _direccion VARCHAR(100),
                                _telefono VARCHAR(20),
                                _correo VARCHAR(50),
                                _matricula VARCHAR(50),
                                _curso VARCHAR(10))
BEGIN
    DECLARE idPersonaTemp,idUserTemp INT DEFAULT 0;
    
    INSERT INTO persona (nombre,apellidoPaterno,apellidoMaterno,fechaNacimiento,direccion,telefono,correo) 
    VALUES (_nombre,_apellidoPaterno,_apellidoMaterno,_fechaNacimiento,_direccion,_telefono,_correo);
    
    SET idPersonaTemp = last_insert_id();
    
    INSERT INTO usuario (usuario,pass,estatus) 
    VALUES (_matricula,_matricula,1);
    
    SET idUserTemp = last_insert_id();
    
    INSERT INTO alumno VALUES (_matricula,idPersonaTemp,idUserTemp,_curso,1);
    
    SELECT * FROM vista_alumnos WHERE id = _matricula;

END //

我从邮递员那里得到的回复

[
    [
        "Simon",
        "Lopez",
        "Lopez",
        "Fri, 23 Oct 1998 00:00:00 GMT",
        "Miguel Hidalgo 515",
        "4761138167",
        "simon.valt23@gmail.com",
        "178724",
        "178724",
        "178724",
        9,
        9,
        "1APre",
        1
    ]
]

我希望有人可以向我解释这个问题,以及我如何得到一个回复​​ json 用列名来识别值。

我得到答案在 Python 代码上添加几行

    conect = mysql.connection.cursor()
    conect.callproc('insertarAlumno', dataUser)
    *columns=[x[0] for x in conect.description]
    data = conect.fetchall()
    *json_data=[]
    *for result in data:
        *json_data.append(dict(zip(columns,result)))
   
    *return jsonify(json_data)

与 post 相比,以 * 开头的行已修改或刚刚添加。