العمل مع JSON في بايثون: دليل سهل للمبتدئين

تعلم كيفية التعامل مع JSON في بايثون من خلال هذا الدليل المناسب للمبتدئين. اكتشف كيفية تحليل وكتابة والتلاعب ببيانات JSON لواجهات البرمجة باستخدام مكتبات بايثون المدمجة. مثالي للمطورين الذين يعملون مع APIs وبيانات JSON.

Amir Hassan

Amir Hassan

10 أغسطس 2025

العمل مع JSON في بايثون: دليل سهل للمبتدئين

Apidog للمؤسسات

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

SSO و RBAC

متوافق مع SOC 2

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

إذا كنت قد عملت يومًا مع واجهات برمجة التطبيقات (APIs)، فمن المحتمل أنك قد صادفت بيانات JSON. إنها موجودة في كل مكان، من تطوير الويب إلى تكامل التطبيقات. تعد Python، بفضل طبيعتها متعددة الاستخدامات، لغة قوية تحتوي على مكتبات مدمجة للتعامل مع JSON بسهولة. سواء كنت متحمسًا لواجهات برمجة التطبيقات، أو مطور ويب، أو فقط فضولي حول JSON، فإن هذا الدليل هنا لمساعدتك في أن تصبح بارعًا في التعامل مع JSON في Python.

💡
ولكن قبل أن نتعمق في التفاصيل الفنية للعمل مع JSON في Python، إليك أداة ستوفر لك الوقت والصداع عند العمل مع واجهات برمجة التطبيقات: Apidog! تعتبر Apidog الأداة المثالية لتبسيط سير عمل واجهات برمجة التطبيقات الخاصة بك، مما يسمح لك بإنشاء وتصحيح وإدارة واجهات برمجة التطبيقات بسهولة. ونعم، يمكنك تحميلها مجانًا لتبسيط اختبار واجهات برمجة التطبيقات وإدارة JSON. المزيد عن هذا لاحقًا، ولكن صدقني - يستحق الاستكشاف.
button

ما هو JSON؟

قبل أن نتحدث عن الشيفرات، دعونا نتناول الأساسيات. JSON تعني JavaScript Object Notation. إنها تنسيق بيانات خفيف يُستخدم بشكل أساسي لنقل البيانات بين الخادم وتطبيقات الويب. على الرغم من اسمها، فإن JSON ليست مقصورة على JavaScript - بل تُستخدم على نطاق واسع في العديد من لغات البرمجة، بما في ذلك Python.

يبدو كائن JSON بسيطًا على هذا النحو:

{
    "name": "Ashley",
    "age": 99,
    "languages": ["Python", "JavaScript", "C++"]
}

هذا التنسيق سهل القراءة لكل من البشر والآلات، مما يجعله شائعًا جدًا في ردود واجهات برمجة التطبيقات.

لماذا يجب أن تهتم بـ JSON؟

في عالم واجهات برمجة التطبيقات، أصبح JSON هو التنسيق المفضل لتبادل البيانات. عندما تعمل مع واجهات برمجة التطبيقات في Python (أو في أي مكان)، ستقوم كثيرًا بإرسال أو استلام بيانات بتنسيق JSON. سيمكنك فهم كيفية العمل مع JSON بشكل فعال من معالجة ردود واجهات برمجة التطبيقات، والتلاعب بالبيانات، وحتى إرسال بيانات منظمة إلى واجهات برمجة التطبيقات.

مكتبة JSON في Python

تجعل Python العمل مع JSON سهلاً للغاية، بفضل مكتبة json المدمجة. مع بضع أسطر من الشيفرات، يمكنك تحويل بيانات JSON إلى كائنات Python والعكس صحيح. دعنا نتناول هذا خطوة بخطوة.

استيراد وحدة JSON

الخطوة الأولى هي استيراد وحدة json:

import json

بسيط، أليس كذلك؟ الآن دعنا نلقي نظرة على كيفية استخدام هذه الوحدة للعمل مع بيانات JSON.


Apidog: تبسيط تكامل JSON في وثائق واجهة برمجة التطبيقات

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

  1. أمثلة تفاعلية: تسمح Apidog للمطورين بإدراج أمثلة تفاعلية لحملات JSON في وثائقهم. تتيح هذه الميزة لمستهلكي واجهة برمجة التطبيقات تصور كيفية هيكلة الطلبات وكيف ستبدو الردود، مما يسهل فهم أعمق لـ نقاط نهاية واجهة برمجة التطبيقات.
  2. نمذجة البيانات بصريًا: مع Apidog، يمكنك إنشاء تمثيلات بصرية لهياكل بيانات JSON. تعتبر هذه الميزة لا تقدر بثمن لعرض مخططات JSON المعقدة ونماذج البيانات، مما يسهل على المطورين العمل مع واجهات برمجة التطبيقات التي تحتوي على متطلبات بيانات معقدة.
  3. توليد الوثائق تلقائيًا: تقوم Apidog بأتمتة توليد وثائق واجهة برمجة التطبيقات من ملفات مخطط JSON، مما يقلل من جهود توثيق اليدوية. من خلال تحديد مخططات JSON، يمكنك إنتاج وثائق واجهة برمجة تطبيقات متناسقة ومحدثة بلا جهد.
  4. التعاون بين الفرق: يسهل Apidog التعاون بين فرق التطوير ومستهلكي واجهات برمجة التطبيقات. تقدم إمكانيات مشاركة وتحكم في الإصدارات سلسة، مما يضمن أن يكون الجميع على نفس الصفحة خلال عملية تكامل واجهة برمجة التطبيقات.

تحليل سلاسل JSON في Python

يشير التحليل إلى تحويل سلسلة JSON إلى كائن Python. أكثر كائنات JSON شيوعًا هي القواميس (dictionaries) والقوائم (lists). يمكنك تحويل JSON إلى كائنات Python باستخدام الطريقة json.loads().

مثال 1: تحويل سلسلة JSON إلى قاموس Python

دعنا نقول أنك تتلقى سلسلة JSON من رد واجهة برمجة التطبيقات. إليك كيفية تحويلها إلى قاموس Python:

import json

json_string = '{"name": "Ashley", "age": 29, "languages": ["Python", "JavaScript", "C++"]}'
python_dict = json.loads(json_string)

print(python_dict)

الناتج:

{'name': 'Ashley', 'age': 99, 'languages': ['Python', 'JavaScript', 'C++']}

الآن، python_dict هو قاموس Python يمكنك العمل به مثل أي قاموس آخر.

الوصول إلى بيانات JSON في Python

بمجرد تحويل سلسلة JSON إلى قاموس Python، يمكنك الوصول إلى عناصره كما تفعل مع أي قاموس Python آخر.

print(python_dict['name'])  # المخرجات: Ashley
print(python_dict['languages'])  # المخرجات: ['Python', 'JavaScript', 'C++']

هذا يسمح لك باستخراج البيانات التي تحتاجها، مما يسهل التعامل مع ردود واجهة برمجة التطبيقات المعقدة.

تحويل كائنات Python إلى JSON

تمامًا كما يمكنك تحويل سلاسل JSON إلى كائنات Python، يمكنك أيضًا تحويل كائنات Python إلى سلاسل JSON. هذا مفيد عندما تقوم بإرسال بيانات إلى واجهة برمجة التطبيقات أو حفظها في ملف.

لتحويل كائن Python إلى JSON، استخدم الطريقة json.dumps().

مثال 2: تحويل قاموس Python إلى سلسلة JSON

python_data = {
    "name": "Ashley",
    "age": 99,
    "languages": ["Python", "JavaScript", "C++"]
}

json_string = json.dumps(python_data)
print(json_string)

الناتج:

{"name": "Ashley", "age": 99, "languages": ["Python", "JavaScript", "C++"]}

كما ترى، يتم إنتاج سلسلة JSON صالحة يمكن نقلها عبر واجهات برمجة التطبيقات أو تخزينها كملف.

كتابة JSON إلى ملف في Python

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

مثال 3: كتابة بيانات JSON إلى ملف

إليك كيفية حفظ قاموس Python كملف JSON:

with open('data.json', 'w') as json_file:
    json.dump(python_data, json_file)

سيؤدي هذا إلى إنشاء ملف باسم data.json وكتابة بيانات JSON فيه. بسيط، أليس كذلك؟

قراءة JSON من ملف في Python

بالطبع، إذا كان بإمكانك الكتابة إلى ملف، يجب أن تكون قادرًا أيضًا على القراءة منه. يمكنك تحميل بيانات JSON من ملف إلى كائن Python باستخدام الطريقة json.load().

مثال 4: قراءة بيانات JSON من ملف

with open('data.json', 'r') as json_file:
    data = json.load(json_file)

print(data)

سيؤدي هذا إلى قراءة بيانات JSON من data.json وتحويلها إلى قاموس Python.

العمل مع JSON وواجهات برمجة التطبيقات في Python

عند التعامل مع واجهات برمجة التطبيقات، ستحتاج غالبًا إلى إرسال واستقبال بيانات JSON. هنا تأتي فائدة مكتبة requests في Python.

مثال 5: إرسال بيانات JSON في طلب POST

دعنا نقول أنك تعمل مع واجهة برمجة تطبيقات تتطلب منك إرسال بيانات JSON. إليك كيفية القيام بذلك باستخدام مكتبة requests:

import requests
import json

url = 'https://api.example.com/data'
payload = {
    "name": "Ashley",
    "age": 99
}

response = requests.post(url, json=payload)

print(response.status_code)

في هذا المثال، نقوم بإرسال طلب POST مع حمولة JSON. تقوم مكتبة requests بتحويل قاموس Python تلقائيًا إلى JSON لك.

التعامل مع ردود واجهة برمجة التطبيقات باستخدام JSON

عندما تتلقى ردًا من واجهة برمجة التطبيقات، غالبًا ما يكون بصيغة JSON. يمكنك بسهولة تحليل بيانات JSON وتحويلها إلى كائن Python باستخدام الطريقة .json() من مكتبة requests.

مثال 6: تحليل JSON من رد واجهة برمجة التطبيقات

response = requests.get('https://api.example.com/user/1')
data = response.json()

print(data)

سيقوم هذا بطباعة بيانات JSON المستلمة من واجهة برمجة التطبيقات كقاموس Python. الآن، يمكنك العمل مع هذه البيانات حسب الحاجة.

العمل مع بيانات JSON المتداخلة

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

مثال 7: الوصول إلى بيانات JSON المتداخلة

دعنا نقول أن لديك الكائن JSON التالي:

{
    "name": "Ashley",
    "age": 99,
    "address": {
        "city": "Nanjing",
        "country": "China"
    }
}

يمكنك الوصول إلى البيانات المتداخلة على هذا النحو:

print(python_dict['address']['city'])  # المخرجات: Nanjing

هذا مفيد بشكل خاص عند العمل مع ردود واجهة برمجة التطبيقات التي تتضمن عدة طبقات من البيانات.

إدارة الأخطاء مع JSON في Python

عند العمل مع بيانات JSON، من المهم التعامل مع الأخطاء، خاصة عند التعامل مع ردود واجهة برمجة التطبيقات. تقدم Python أدوات لالتقاط ومعالجة أخطاء JSON.

مثال 8: التعامل مع أخطاء JSON

إذا حاولت تحميل بيانات JSON غير صالحة، سترتفع خطأ json.JSONDecodeError في Python. يمكنك التقاط هذا الخطأ ومعالجته بطريقة أنيقة.

try:
    json.loads('invalid json string')
except json.JSONDecodeError as e:
    print(f"خطأ في فك تشفير JSON: {e}")

هذا يمنع برنامجك من التعطل بسبب بيانات JSON غير صالحة.

العمل مع JSON وواجهات برمجة التطبيقات: ميزة Apidog

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

مع Apidog، يمكنك:

أفضل جزء؟ يمكنك تحميل Apidog مجانًا وبدء تبسيط سير عمل واجهات برمجة التطبيقات وJSON الخاصة بك اليوم!

اختبر واجهة برمجة التطبيقات Python الخاصة بك باستخدام Apidog

يمكن أن يسهل اختبار واجهة برمجة التطبيقات Python الخاصة بك باستخدام Apidog العملية ويضمن أن واجهة برمجة التطبيقات الخاصة بك تعمل كما هو متوقع. Apidog هي أداة يمكن أن تساعدك في تصميم وتطوير وتصحيح واختبار واجهات برمجة التطبيقات الخاصة بك.

button
  1. افتح Apidog وأنشئ طلبًا جديدًا.
واجهة Apidog

2. حدد طريقة الطلب إلى GET.

واجهة Apidog

3. أدخل عنوان URL للموارد التي ترغب في تحديثها. يمكنك أيضًا إضافة أي رؤوس أو معلمات إضافية تريد تضمينها، ثم انقر على زر 'إرسال' لإرسال الطلب

واجهة Apidog

4. أكد أن الرد يتماشى مع توقعاتك.

واجهة Apidog

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

الاستنتاج

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

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

button

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

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