फ्लास्क के अंतर्निर्मित jsonify
का उपयोग करें
फ़ंक्शन, क्योंकि यह पहले से ही तारीखों के साथ काम करने के लिए बढ़ा दिया गया है
:
from Flask import jsonify
@app.route('/temp')
def temp():
# Load database results
# and then ...
return jsonify(data=cur.fetchall())
डेटा एक ऑब्जेक्ट के रूप में एक ही कुंजी (data
.) के साथ लौटाया जाएगा ) जिसमें पंक्तियों की एक सरणी होती है (जिसे fetchall
के आधार पर या तो सरणियों या वस्तुओं के रूप में दर्शाया जाएगा पंक्तियों को इस रूप में लौटाता है)।
यदि आपको अधिक प्रकारों को क्रमबद्ध करने की आवश्यकता है (जैसा कि आपके मामले में, आपको date
वापस मिल रहा है datetime
. के बजाय उदाहरण के लिए, आपको फ्लास्क के 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
को संभाल पाएंगे साथ ही datetime
एस.