在 Flask 实现 Rest API (02) - 查询结果转换为 json 字符串 这篇文章中,介绍了基于原生 CRUD 将查询结果转为 json 格式的方法。本篇接着介绍使用 Flask-SqlAlchemy 时,如何将查询结果转换为 json 格式。过程是先将查询的结果转为 dict/list,然后将 dict/list 转为 json,dict/list 转 json 是 Python 内置的功能,所以关键在如何将 Python 对象转换为 dict/list。
如果不使用第三方模块,需要手工编写代码来处理映射关系。假设在 MySQL 数据库中有一个 user 表,结构如下:
如下代码实现了将所有用户信息通过 response 返回到客户端:
from flask import Flask, jsonify
from flask_sqlalchemy import SQLAlchemy
import os
from collections import OrderedDict
app = Flask(__name__)
# app.configurations
app.config['SECURITY_KEY'] = 'you will never guess'
app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['DB_URI']
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
app.config['JSON_SORT_KEYS'] = False
db = SQLAlchemy(app)
class User(db.Model):
__tablename__ = 'user'
USER_ID = db.Column(db.Integer, primary_key=True)
USERNAME = db.Column(db.String(20))
CREATED_BY = db.Column(db.String(20))
CREATED_DATE =