إذا كنت قد عملت يومًا مع واجهات برمجة التطبيقات (APIs)، فمن المحتمل أنك قد صادفت بيانات JSON. إنها موجودة في كل مكان، من تطوير الويب إلى تكامل التطبيقات. تعد Python، بفضل طبيعتها متعددة الاستخدامات، لغة قوية تحتوي على مكتبات مدمجة للتعامل مع JSON بسهولة. سواء كنت متحمسًا لواجهات برمجة التطبيقات، أو مطور ويب، أو فقط فضولي حول JSON، فإن هذا الدليل هنا لمساعدتك في أن تصبح بارعًا في التعامل مع JSON في Python.
ما هو 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 وتقدم عدة ميزات رئيسية تعزز من عملية الوثائق:

- أمثلة تفاعلية: تسمح Apidog للمطورين بإدراج أمثلة تفاعلية لحملات JSON في وثائقهم. تتيح هذه الميزة لمستهلكي واجهة برمجة التطبيقات تصور كيفية هيكلة الطلبات وكيف ستبدو الردود، مما يسهل فهم أعمق لـ نقاط نهاية واجهة برمجة التطبيقات.
- نمذجة البيانات بصريًا: مع Apidog، يمكنك إنشاء تمثيلات بصرية لهياكل بيانات JSON. تعتبر هذه الميزة لا تقدر بثمن لعرض مخططات JSON المعقدة ونماذج البيانات، مما يسهل على المطورين العمل مع واجهات برمجة التطبيقات التي تحتوي على متطلبات بيانات معقدة.
- توليد الوثائق تلقائيًا: تقوم Apidog بأتمتة توليد وثائق واجهة برمجة التطبيقات من ملفات مخطط JSON، مما يقلل من جهود توثيق اليدوية. من خلال تحديد مخططات JSON، يمكنك إنتاج وثائق واجهة برمجة تطبيقات متناسقة ومحدثة بلا جهد.
- التعاون بين الفرق: يسهل 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، يمكنك:
- تصحيح واجهات برمجة التطبيقات: إرسال طلبات وعرض ردود JSON بكل سهولة.
- أتمتة الاختبار: استخدام الاختبارات التلقائية لضمان عودة واجهات برمجة التطبيقات لبيانات JSON صالحة.
- التعاون مع الفرق: مشاركة وثائق واجهة برمجة التطبيقات والبيانات مع فريقك بسهولة.
أفضل جزء؟ يمكنك تحميل Apidog مجانًا وبدء تبسيط سير عمل واجهات برمجة التطبيقات وJSON الخاصة بك اليوم!
اختبر واجهة برمجة التطبيقات Python الخاصة بك باستخدام Apidog
يمكن أن يسهل اختبار واجهة برمجة التطبيقات Python الخاصة بك باستخدام Apidog العملية ويضمن أن واجهة برمجة التطبيقات الخاصة بك تعمل كما هو متوقع. Apidog هي أداة يمكن أن تساعدك في تصميم وتطوير وتصحيح واختبار واجهات برمجة التطبيقات الخاصة بك.
- افتح Apidog وأنشئ طلبًا جديدًا.

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

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

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

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