如何将pymysql查询结果转换为json格式?

2024-09-27 00:11:29 发布

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

我正在制作一个需要返回json的API

下面是我的观点.py

from flask.json import jsonify
from team2_project import app
from team2_project import cursor
import json
from flask import jsonify
@app.route('/')
def index():
    sql = ("SELECT * FROM Clients_002")
    cursor.execute(sql)
    formulas = cursor.fetchall()

    return str(formulas)

init.py

from flask import Flask
import pymysql
pymysql.install_as_MySQLdb
import pymysql.cursors
app = Flask(__name__)
connection = pymysql.connect(host='',
                             user='',
                             password='',
                             db='',
                             cursorclass=pymysql.cursors.DictCursor)
cursor = connection.cursor(pymysql.cursors.DictCursor)

import team2_project.views

我的函数返回:

[{"clientCompID_002": 1, "clientCompName_002": "Telus", "clientCity_002": "Halifax", "clientCompPassword_002": "002", "moneyOwed_002": "100"}, {"clientCompID_002": 2, "clientCompName_002": "Bell", "clientCity_002": "Dartmouth", "clientCompPassword_002": "002", "moneyOwed_002": "10"}, {"clientCompID_002": 3, "clientCompName_002": "Purple Cow", "clientCity_002": "Bedford", "clientCompPassword_002": "002", "moneyOwed_002": "120"}, {"clientCompID_002": 4, "clientCompName_002": "Apple", "clientCity_002": "Toronto", "clientCompPassword_002": "002", "moneyOwed_002": "1210"}, {"clientCompID_002": 5, "clientCompName_002": "Sowo", "clientCity_002": "Montreal", "clientCompPassword_002": "002", "moneyOwed_002": "1110"}]

如何在json中使用缩进输出它?我尝试了jsonify(),但是它返回与str()相同的结果。似乎无法摆脱方括号

谢谢


Tags: fromimportprojectjsonappflaskcursorpymysql
2条回答

使用json包的dumps()方法,它有一个可以使用的缩进参数

例如: json.dumps(formulas, indent=4)

如果您试图fetchall(),将返回dict数组。要获得单个对象,只需fetchone()。所以,试试看

formulas = cursor.fetchone()

相关问题 更多 >

    热门问题