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。