Flaskの組み込みのjsonifyを使用します
日付を処理するようにすでに拡張されている
:
from Flask import jsonify
@app.route('/temp')
def temp():
# Load database results
# and then ...
return jsonify(data=cur.fetchall())
データは、単一のキー(data)を持つオブジェクトとして返されます )行の配列を含みます(fetchallに応じて、配列またはオブジェクトとして表されます。 行をとして返します。
より多くのタイプをシリアル化する必要がある場合(あなたの場合のように、dateが返されます datetimeではなく インスタンスでは、Flaskの json_encoderをオーバーライドする必要があります。
JSONEncoderのサブクラスを持つプロパティ
タイプの処理方法を知っている:
class SpecializedJSONEncoder(JSONEncoder):
def default(o):
if isinstance(o, date):
return date.strftime("%Y-%m-%d")
else:
super(SpecializedJSONEncoder, self).default(o)
そして、Flaskに設定できます インスタンス:
app.json_encoder = SpecializedJSONEncoder
これで、dateを処理できるようになります sおよびdatetime s。