Gunakan jsonify bawaan Flask
fungsi, karena sudah diperluas untuk bekerja dengan tanggal
:
from Flask import jsonify
@app.route('/temp')
def temp():
# Load database results
# and then ...
return jsonify(data=cur.fetchall())
Data akan dikembalikan sebagai objek dengan satu kunci (data ) yang berisi larik baris (yang akan direpresentasikan sebagai larik atau objek tergantung pada fetchall apa mengembalikan baris sebagai).
Jika Anda perlu membuat lebih banyak jenis serial (seperti dalam kasus Anda, Anda mendapatkan kembali date daripada datetime contoh, Anda harus mengganti json_encoder Flask
properti dengan subkelas JSONEncoder
yang tahu bagaimana menangani tipe Anda:
class SpecializedJSONEncoder(JSONEncoder):
def default(o):
if isinstance(o, date):
return date.strftime("%Y-%m-%d")
else:
super(SpecializedJSONEncoder, self).default(o)
Dan kemudian Anda dapat mengaturnya di Flask contoh:
app.json_encoder = SpecializedJSONEncoder
Anda sekarang dapat menangani date s serta datetime s.