كيفية نشر وإرسال بيانات JSON في فلاسک

تعلم كيفية استخدام فلاسک، إطار عمل بايثون الشائع، للتعامل مع بيانات JSON المرسلة عبر طريقة HTTP POST. واكتشف كيفية استخدام Apidog، المنصة الشاملة التي تسهل تطوير واجهات برمجة التطبيقات بشكل فعال، لتصميم واختبار واجهة برمجة التطبيقات REST الخاصة بك.

Amir Hassan

Amir Hassan

12 أغسطس 2025

كيفية نشر وإرسال بيانات JSON في فلاسک

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

فلاسك هو إطار عمل ويب بايثون شائع يُستخدم لبناء تطبيقات الويب. واحدة من أكثر المهام شيوعًا عند بناء تطبيق ويب هي إرسال البيانات من العميل إلى الخادم. يتم ذلك عادة باستخدام طريقة HTTP POST. JSON (Notation Object JavaScript) هو تنسيق تبادل بيانات خفيف الوزن يُستخدم عادةً لإرسال البيانات عبر الإنترنت.

في هذه التدوينة، سنستكشف كيفية استخدام فلاسك للتعامل مع بيانات JSON المرسلة عبر الطريقة HTTP ونكتشف كيفية استخدام Apidog، منصة شاملة تسهل تطوير واجهات برمجة التطبيقات بكفاءة، لتصميم واختبار واجهة برمجة التطبيقات REST بايثون الخاصة بك.

💡
Apidog هو أداة قائمة على الويب تساعدك على اختبار وتصحيح واجهات برمجة التطبيقات. يسمح لك بإرسال طلبات HTTP إلى أي نقطة نهاية واجهة برمجة التطبيقات والحصول على الاستجابة بتنسيقات مختلفة، مثل JSON وXML وHTML، إلخ.
يمكنك أيضًا فحص الرؤوس، وملفات تعريف الارتباط، وأكواد الحالة، وغيرها من تفاصيل الاستجابة. كما يتيح لك Apidog التلاعب ببيانات الاستجابة باستخدام JavaScript، وتصفيتها باستخدام JSONPath، والتحقق من صحتها باستخدام JSON Schema.
زر

بيانات JSON

JSON (Notation Object JavaScript) هو تنسيق تبادل بيانات خفيف الوزن يستخدم عادةً لإرسال البيانات عبر الإنترنت. يعتمد على مجموعة فرعية من لغة برمجة JavaScript، لكنه يمكن استخدامه مع أي لغة برمجة.

من بين مزايا استخدام JSON أنه سهل القراءة والكتابة. يتم تمثيل بيانات JSON كأزواج من المفتاح والقيمة، مما يجعل من السهل فهمها والعمل معها. يمكن أن تمثل JSON ستة أنواع من البيانات بشكل أصلي: سلاسل نصية، أرقام، قيم بوليون، فارغ، صفيفات، وكائنات. على سبيل المثال، إليك تمثيل JSON لمشاركة مدونة:

{
  "id": 1001,
  "title": "ما هو JSON؟",
  "author": {
    "id": 1,
    "name": "جيمس ووكر"
  },
  "tags": [
    "api",
    "json",
    "برمجة"
  ],
  "published": false,
  "publishedTimestamp": null
}

هذا المثال يوضح جميع أنواع بيانات JSON. كما يوضح اختصار البيانات المُنسقة بتنسيق JSON، وهو أحد الخصائص التي تجعل استخدامها جذابًا في واجهات برمجة التطبيقات.

طريقة HTTP POST

طريقة HTTP POST هي واحدة من أكثر طرق HTTP شيوعًا المستخدمة لإرسال البيانات من العميل إلى الخادم. عندما يرسل العميل طلب HTTP POST، يتضمن جسم رسالة يحتوي على البيانات التي يتم إرسالها. يمكن أن تكون هذه البيانات بتنسيقات متنوعة، بما في ذلك JSON.

من خلال استخدام JSON، يمكن للمطورين التأكد من أن البيانات المرسلة إلى الخادم منظمة جيدًا وسهلة الفهم، مما يعزز كفاءة إنشاء الموارد والتحديثات.

ما هو فلاسك ولماذا يجب عليك استخدامه؟

فلاسك هو إطار عمل ويب خفيف الوزن مكتوب بلغة بايثون. تم تصميمه ليكون بسيطًا وسهل الاستخدام، مع توفير جميع الميزات التي تحتاجها لبناء تطبيق ويب حديث.

فلاسك مبني على مجموعة أدوات Werkzeug WSGI ومحرك قوالب Jinja2. يوفر واجهة برمجة تطبيقات بسيطة وبديهية لمعالجة طلبات واستجابات HTTP.

FLASK

واحدة من الميزات الرئيسية لفلاسك هي دعمه للتعامل مع بيانات JSON. يوفر فلاسك طريقة بسيطة لتحليل بيانات JSON المرسلة عبر طريقة HTTP POST. وهذا يجعل من السهل بناء تطبيقات ويب يمكنها قبول بيانات JSON من العملاء.

تثبيت فلاسك

فلاسك هو إطار عمل مصغر قائم على بايثون، لذا تحتاج إلى تثبيت بايثون على جهاز الكمبيوتر الخاص بك. يمكنك تنزيل أحدث إصدار من بايثون من الموقع الرسمي:

إنشاء بيئة افتراضية: من الجيد إنشاء بيئة افتراضية لمشروعك لتجنب التعارضات مع مشاريع بايثون الأخرى. يمكنك إنشاء بيئة افتراضية باستخدام venv، الوحدة المدمجة مع بايثون. إليك كيفية إنشاء بيئة افتراضية:

$ python3 -m venv myenv

سيؤدي هذا إلى إنشاء دليل جديد يسمى myenv في الدليل الحالي الخاص بك.

تفعيل البيئة الافتراضية: بعد إنشاء البيئة الافتراضية، تحتاج إلى تفعيلها. إليك كيفية تفعيل البيئة الافتراضية:

$ source myenv/bin/activate

تثبيت فلاسك: مع تفعيل البيئة الافتراضية، يمكنك الآن تثبيت فلاسك باستخدام pip، مدير حزم بايثون. إليك كيفية تثبيت فلاسك:

$ pip install Flask

سيؤدي هذا إلى تثبيت فلاسك والتبعيات الخاصة به.

تحقق من التثبيت: للتحقق من أنه تم تثبيت فلاسك بشكل صحيح، يمكنك إنشاء ملف جديد يُدعى app.py بمحتويات التالية:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'مرحبًا، أيها العالم!'

if __name__ == '__main__':
    app.run()

احفظ الملف وشغله باستخدام الأمر التالي:

$ flask run

سيؤدي هذا إلى تشغيل خادم تطوير محلي على http://localhost:5000. افتح متصفح الويب الخاص بك وانتقل إلى http://localhost:5000. يجب أن ترى رسالة تقول "مرحبًا، أيها العالم!".

معالجة طلبات JSON في فلاسك

للتعامل مع بيانات JSON في فلاسك، ستحتاج إلى استخدام كائن request. يتم توفير كائن request بواسطة فلاسك ويحتوي على جميع البيانات التي تم إرسالها في طلب HTTP. لتحليل بيانات JSON، يمكنك استخدام السمة json لكائن request.

الحصول على بيانات JSON في فلاسك

للوصول إلى بيانات JSON المرسلة من العميل، يمكنك استخدام سمة json لكائن request أو طريقة get_json(). كلاهما يرجع قاموس بايثون أو قائمة تمثل بيانات JSON التي تم تحليلها.

الفرق هو أن السمة json ستثير استثناءً إذا كانت البيانات غير صالحة كـ JSON، بينما ستُرجع طريقة get_json() None في تلك الحالة. يمكنك أيضًا تمرير معامل force إلى طريقة get_json() لفرض تحليل البيانات كـ JSON، بغض النظر عن نوع المحتوى.

إليك مثال على معالج مسار بسيط يستقبل طلب POST مع بيانات JSON ويطبعها إلى وحدة التحكم:

from flask import Flask, request

app = Flask(__name__)

@app.route('/json', methods=['POST'])
def json():
    # احصل على بيانات JSON من الطلب
    data = request.get_json()
    # اطبع البيانات إلى وحدة التحكم
    print(data)
    # أعد رسالة نجاح
    return 'تم استلام JSON!'

نوع المحتوى للطلب مهم لأنه يخبر فلاسك كيفية تحليل البيانات. إذا كان نوع المحتوى هو application/json، فسيقوم فلاسك تلقائيًا بتحليل البيانات كـ JSON ويجعلها متاحة من خلال السمة json أو طريقة get_json().

إذا لم يتم تحديد نوع المحتوى أو كان شيئًا آخر، فلن يقوم فلاسك بتحليل البيانات كـ JSON ما لم تستخدم معامل force لطريقة get_json(). لذلك، يُوصى بتعيين نوع المحتوى إلى application/json عند إرسال بيانات JSON إلى فلاسك، أو التعامل مع الحالات التي لا يكون فيها نوع المحتوى صحيحًا أو البيانات ليست صالحة كـ JSON.

إرسال استجابات JSON إلى العميل

لإنشاء وإعادة استجابات JSON باستخدام دالة jsonify() من فلاسك، تحتاج إلى استيراد الدالة من وحدة flask وتمرير قاموس بايثون أو قائمة كمعامل. ستقوم الدالة بتحويل كائن بايثون إلى سلسلة JSON وتعيين نوع المحتوى للاستجابة إلى application/json. بهذه الطريقة، يمكن للعميل تحليل بيانات JSON بسهولة واستخدامها لأغراضه.

إليك مثال على معالج مسار بسيط يرسل استجابة JSON مع بعض البيانات إلى العميل:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/data')
def data():
    # إنشاء قاموس بايثون مع بعض البيانات
    data = {
        'name': 'بينج',
        'age': 10,
        'hobbies': ['البحث', 'الدردشة', 'التعلم']
    }
    # أعد استجابة JSON باستخدام دالة jsonify()
    return jsonify(data)

تحتوي دالة jsonify() على بعض المعاملات الاختيارية التي يمكن أن تؤثر على تنسيق وترتيب مخرجات JSON. على سبيل المثال، يمكنك استخدام معامل sort_keys لترتيب مفاتيح كائن JSON بترتيب أبجدي، أو معامل indent لإضافة مسافات بيضاء والأسطر الجديدة إلى سلسلة JSON. يمكن أن تجعل هذه المعاملات مخرجات JSON أكثر قابلية للقراءة والتناسق، لكن يمكن أن تزيد أيضًا من حجم الاستجابة.

كيفية إرسال بيانات JSON باستخدام Apidog

Apidog هو أداة رائعة لأي شخص يعمل مع واجهات برمجة التطبيقات، سواء كنت مطورًا أو مختبرًا أو مصممًا أو طالبًا. يساعدك على:

زر

لاختبار واجهة برمجة التطبيقات Flask الخاصة بك التي يمكن أن ترسل وتستقبل بيانات JSON باستخدام Apidog، تحتاج إلى اتباع الخطوات التالية:

لقد اختبرت الآن واجهة برمجة التطبيقات Flask الخاصة بك التي يمكن أن ترسل وتستقبل بيانات JSON باستخدام Apidog. يمكنك أيضًا اختبار نقاط النهاية وطرق واجهة برمجة التطبيقات الأخرى باستخدام نفس الخطوات. يمكنك أيضًا استخدام Apidog لاختبار واجهات برمجة التطبيقات الأخرى التي تجدها عبر الإنترنت أو تقوم بإنشائها بنفسك. Apidog هو أداة متعددة الاستخدامات وقوية يمكن أن تساعدك في أي مهمة متعلقة بواجهة برمجة التطبيقات. يمكنك معرفة المزيد عن Apidog وميزاته وأدواته من الموقع الرسمي:

زر

الاستنتاج

في هذه التدوينة، تعلمنا كيفية التعامل مع طلبات JSON في فلاسك، وهو إطار عمل مصغر شهير لتطوير الويب في بايثون. لقد رأينا كيف:

زر

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات