来自mysql的python中的JSON以及其他键值对

来自mysql的python中的JSON以及其他键值对,mysql,python-3.x,Mysql,Python 3.x,这是用于从数据库获取数据的代码 import pymysql import json conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='test', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) cursor = conn.cursor() cursor.execut

这是用于从数据库获取数据的代码

import pymysql

import json



     conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='test', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)
        cursor = conn.cursor()
        cursor.execute("SELECT * FROM user")

    rows = []
    for row in cursor:
        rows += [row]

    print(json.dumps(rows, sort_keys=False, indent=4, separators=(',', ': ')))

    cursor.close()
    conn.close()
json中的输出是-

[
    {
        "name": "John",
        "id": 50
    },
    {
        "name": "Mark",
        "id": 57
    }
]
但是我想要这种格式的输出-

{
    "version": "5.2",
    "user_type": "online",
    "user":
    [
        {
            "name": "John",
            "id": 50
        },
        {
            "name": "Mark",
            "id": 57
        }
    ]
}

可以手动输入版本和用户类型或将其附加到结果中。

您可以使用版本、用户类型和用户创建dict(其中,对于键“user”,您可以输入行作为值)。然后使用
json.dump
json.dumps
将其转换为json:

data = { "version": "5.2",  "user_type": "online",  "user":rows }

print(json.dumps(data, sort_keys=False, indent=4, separators=(',', ': ')))

您可以使用版本、用户类型和用户创建dict(其中对于键“user”输入行作为值)。然后使用
json.dump
json.dumps
将其转换为json:

data = { "version": "5.2",  "user_type": "online",  "user":rows }

print(json.dumps(data, sort_keys=False, indent=4, separators=(',', ': ')))

只需将结果集包装在您喜欢的目录中即可

# ...

cursor.execute("SELECT * FROM user")
response = {
    "version": "5.2",
    "user_type": "online",
    "user": list(cursor),  # This is equivalent to iterating over the cursor yourself.
}
print(json.dumps(response, sort_keys=False, indent=4, separators=(',', ': ')))

# ...

只需将结果集包装在您喜欢的目录中即可

# ...

cursor.execute("SELECT * FROM user")
response = {
    "version": "5.2",
    "user_type": "online",
    "user": list(cursor),  # This is equivalent to iterating over the cursor yourself.
}
print(json.dumps(response, sort_keys=False, indent=4, separators=(',', ': ')))

# ...