mysql - 如何使用 MySQL 和 python 将关键字和值返回到 json 对象

标签 mysql json python-3.x

我有一个从 MySQL 数据库获取数据的代码,它返回值但不返回关键字。我需要关键字,以便稍后可以在 JavaScript 中进行调用。 它返回的不是名字、姓氏、用户名和邮件等关键字,而是 0 1 2 3。

0:“卢卡”
1:“管状”
2:“Tubex”
3:“test@mail.com”

它应该返回

“名字”:“卢卡”
"lastname":"管状"
"用户名":"Tubex"
“邮件”:“test@mail.com”

这是Python脚本

from flask import Flask
from flask import jsonify, request, redirect, url_for
import mysql.connector
import random
import string
import smtplib

app = Flask(__name__, static_folder='www')

def _connect():
    connection = mysql.connector.connect(host='localhost',
                                         user='root',
                                         password='root',
                                         auth_plugin='mysql_native_password',
                                         database='User')
    connection.commit()
    return connection


@app.route('/admin/users', methods=['GET', 'POST', 'OPTION'])
def dummyadmin():
    if request.method == 'GET':
        connection = _connect()
        c = connection.cursor(buffered=True)
        query = 'SELECT first_name,last_name,username,email from user.user'
        c.execute(query)
        users = c.fetchall()

        if users is None:
            return None

        connection.commit()
        c.close()
        print(users)
        return jsonify(users)
    if request.method == 'POST':
        connection = _connect()
        c = connection.cursor(buffered=True)
        


@app.after_request
def after_request(response):
    response.headers.add('Access-Control-Allow-Origin', '*')
    response.headers.add('Access-Control-Allow-Headers', 'Content-Type,Authorization')
    response.headers.add('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS')
    return response


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

最佳答案

The solution is documented :使用 DictCursor。

c = connection.cursor(dictionary=True, buffered=True)

注意:默认情况下,db-api 游标生成 tuples它们确实是按位置索引的,而不是按列名索引的。这是关系数据的一种非常标准和自然的表示,并且比 dicts 成本更低。 。

关于mysql - 如何使用 MySQL 和 python 将关键字和值返回到 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55259662/

相关文章:

mysql - 安装 mysql2 gem 时出错(Windows 8)

mysql - 如何在两个字段上连接一个表并从两个匹配结果中检索单个列?

mysql - SQL:选择另一个表中是否存在条目

javascript - 解析不带引号的 JSON 字符串

java - JSON 到 Avro 转换异常 - 预期启动联合。已获取 VALUE_STRING

php - 从重复 ID 具有相同父键的表创建多维数组

c++ - 从 C# : WebMessageBodyStyle. Wrapped 或 WebMessageBodyStyle.Bare 生成 JSON?

Python3关于字节变量的正则表达式

python-3.x - 如何在Python 3中对大量文本进行分类?

python - pip 安装后 PyCharm 无法识别 Pycurl