معرفی jsonify در Flask 3.0
در فریمورک Flask، یکی از توابع مفیدی که برای تبدیل دادهها به فرمت JSON استفاده میشود، تابع jsonify()
است. این تابع به ما کمک میکند تا به راحتی دادهها را به فرمت JSON تبدیل کنیم و آنها را به کلاینت ارسال کنیم. این کار برای API ها و برنامههای تحت وب که نیاز دارند دادهها را به صورت ساختارمند و قابل استفاده ارسال کنند، بسیار ضروری است.
استفاده از jsonify()
بسیار ساده است. به عنوان مثال فرض کنید که شما قصد دارید اطلاعات یک کاربر را به کلاینت ارسال کنید. بهجای اینکه خودتان فرمت JSON را دستی ایجاد کنید، میتوانید از این تابع استفاده کنید تا این کار به سرعت و با دقت انجام شود.
یکی از مزایای دیگر jsonify()
این است که به طور خودکار هدرهای مناسب برای فرمت JSON را اضافه میکند. این موضوع باعث میشود که کلاینتها به درستی بتوانند دادهها را دریافت و پردازش کنند. بنابراین با استفاده از این تابع، گامهای اضافی دریافت و پردازش داده را حذف میکنید.
شما میتوانید چندین شیء را بهصورت یکجا به jsonify()
پاس دهید و این تابع آنها را به صورت یک لیست JSON برگشت میدهد. این ویژگی، بهویژه در مواقعی که نیاز به ارسال چندین مورد داده داریم، بسیار کاربردی است.
نمونه کد استفاده از jsonify
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/user/', methods=['GET'])
def get_user(user_id):
user = {"id": user_id, "name": "Ali"}
return jsonify(user)
if __name__ == '__main__':
app.run(debug=True)
توضیح کد
خط اول:
from flask import Flask, jsonify
ما کلاس
Flask
و تابع jsonify
را از ماژول Flask وارد کردیم.خط دوم:
app = Flask(__name__)
ما یک نمونه از کلاس Flask به نام
app
ساختیم که این مورد به ما کمک میکند تا اپلیکیشن وب خود را ایجاد کنیم.خط چهارم:
@app.route('/user/<int:user_id>', methods=['GET'])
این خط به Flask میگوید که این تابع
get_user()
به URL خاصی متصل شود و روش آن GET
باشد.خط ششم:
def get_user(user_id):
تعریف تابعی به نام
get_user
که یک پارامتر به نام user_id
میگیرد.خط هفتم:
user = {"id": user_id, "name": "Ali"}
اینجا یک دیکشنری به نام
user
میسازیم که شامل شناسه کاربر و اسم او است.خط هشتم:
return jsonify(user)
ما از تابع
jsonify()
استفاده میکنیم تا دیکشنری user
را به فرمت JSON تبدیل کنیم و آن را به کلاینت بازگردانیم.خط دهم:
if __name__ == '__main__':
این خط بررسی میکند که آیا این فایل به عنوان برنامه اصلی اجرا میشود یا خیر.
خط یازدهم:
app.run(debug=True)
در اینجا وبسرور را با حالت Debug اجرا میکنیم تا در صورت بروز خطا، اطلاعات دقیقتری دریافت کنیم.