كيفية التعامل مع ملفات JSON في Python
تمت الكتابة بواسطة: عبد الحكيم
تارخ آخر تحديث: 10 سبتمبر 2024محتوى المقال
- ما هو JSON؟
- قراءة ملفات JSON في Python
- كتابة البيانات إلى ملفات JSON في Python
- التعامل مع JSON عبر الإنترنت (HTTP)
- مقارنة بين مكتبة json ومكتبات أخرى
- الخلاصة
تُستخدم ملفات JSON (JavaScript Object Notation) بشكل واسع لتبادل البيانات بين الخوادم والتطبيقات. تُعتبر JSON صيغة بيانات سهلة القراءة والكتابة، وتدعمها لغات برمجة متعددة، بما في ذلك Python. في هذا المقال، سنتعلم كيفية التعامل مع ملفات JSON في Python باستخدام مكتبة json
المدمجة، من خلال أمثلة عملية على القراءة، الكتابة، والتعديل.
ما هو JSON؟
JSON هي صيغة نصية لتخزين وتبادل البيانات. تشبه JSON الهيكلية المستخدمة في لغة JavaScript، ولكنها مدعومة من معظم لغات البرمجة. تتكون JSON من أزواج مفاتيح وقيم، حيث يمكن أن تكون القيم نصوصًا، أرقامًا، مصفوفات، أو كائنات.
أمثلة على صيغة JSON
{
"name": "أحمد",
"age": 30,
"languages": ["Python", "JavaScript"],
"married": true
}
في المثال أعلاه، يحتوي JSON على مفاتيح مثل name
وage
مع قيم متنوعة مثل نصوص وأرقام ومصفوفات وقيم منطقية.
قراءة ملفات JSON في Python
يمكنك قراءة ملفات JSON بسهولة في Python باستخدام الدالة json.load()
التي تقوم بتحميل البيانات من ملف JSON وتحويلها إلى كائن Python (مثل قاموس).
مثال على قراءة JSON
import json
with open("data.json", "r") as file:
data = json.load(file)
print(data)
في هذا المثال، نقوم بفتح ملف data.json
ونقرأ محتوياته باستخدام json.load()
. البيانات التي نحصل عليها ستكون عبارة عن كائن Python يمكننا التعامل معه مباشرة.
الوصول إلى بيانات JSON
بعد تحميل JSON إلى Python، يمكنك الوصول إلى البيانات كما تفعل مع أي قاموس:
name = data["name"]
age = data["age"]
languages = data["languages"]
print("Name:", name)
print("Age:", age)
print("Languages:", languages)
كتابة البيانات إلى ملفات JSON في Python
يمكنك كتابة البيانات إلى ملفات JSON في Python باستخدام الدالة json.dump()
. هذه الدالة تأخذ كائن Python وتحوله إلى صيغة JSON قبل كتابته إلى ملف.
مثال على كتابة JSON
import json
data = {
"name": "أحمد",
"age": 30,
"languages": ["Python", "JavaScript"],
"married": True
}
with open("output.json", "w") as file:
json.dump(data, file, ensure_ascii=False, indent=4)
في هذا المثال، نقوم بكتابة قاموس Python إلى ملف JSON باستخدام json.dump()
. لاحظ أننا نستخدم ensure_ascii=False
للحفاظ على الأحرف غير اللاتينية وindent=4
لتنسيق الملف بشكل جيد.
تعديل بيانات JSON في Python
يمكنك تعديل البيانات المحملة من JSON في Python بسهولة عن طريق التعديل على كائن Python مباشرة، ثم إعادة كتابته إلى ملف JSON.
import json
with open("data.json", "r") as file:
data = json.load(file)
# تعديل قيمة في القاموس
data["age"] = 31
with open("data.json", "w") as file:
json.dump(data, file, ensure_ascii=False, indent=4)
في هذا المثال، نقوم بقراءة ملف JSON وتعديل قيمة المفتاح age
، ثم نعيد كتابة البيانات المعدلة إلى نفس الملف.
التعامل مع JSON عبر الإنترنت (HTTP)
غالبًا ما يتم استخدام JSON لنقل البيانات عبر الإنترنت من خلال HTTP. يمكننا استخدام مكتبة requests
في Python لجلب بيانات JSON من API.
مثال على استخدام JSON مع HTTP
import requests
response = requests.get("https://api.example.com/data")
data = response.json()
print(data)
في هذا المثال، نقوم بجلب بيانات JSON من API باستخدام requests.get()
وتحويلها مباشرة إلى كائن Python باستخدام response.json()
.
مقارنة بين مكتبة json ومكتبات أخرى
بالإضافة إلى مكتبة json
المدمجة، هناك مكتبات أخرى مثل ujson
وorjson
التي تقدم أداءً أسرع أو ميزات إضافية. ومع ذلك، فإن مكتبة json
تظل الخيار الأكثر استخدامًا بسبب تكاملها الممتاز وسهولة استخدامها.
الخلاصة
التعامل مع ملفات JSON في Python هو جزء أساسي من تطوير التطبيقات التي تتعامل مع البيانات. سواء كنت تقوم بقراءة ملفات JSON، أو كتابتها، أو تعديلها، فإن مكتبة json
المدمجة في Python توفر لك كل الأدوات التي تحتاجها للعمل مع هذه الصيغة الشهيرة. بالإضافة إلى ذلك، يمكنك استخدام مكتبة requests
لجلب JSON من الإنترنت ومعالجته بسهولة.
طور مهاراتك: مقالات يجب قراءتها في البرمجة
- كيفية استخدام مكتبة Matplotlib لإنشاء الرسوم البيانية في Python
- بناء واجهة برمجة تطبيقات (API) باستخدام Flask في Python
- كيفية استخدام مكتبة NumPy لإجراء العمليات الحسابية في Python
- كيفية تشغيل واستعمال بيئات العمل الافتراضية في Python
- كيفية إنشاء بوت تلقائي لمواقع التواصل الاجتماعي باستخدام Python
- كيفية التعامل مع تواريخ وأوقات باستخدام مكتبة datetime في Python
- استخدام مكتبة PyTorch لتعلم الآلة في Python
- كيفية قراءة ومعالجة الصور باستخدام مكتبة OpenCV في Python
- كيفية إجراء الاختبارات الوحدوية في Python باستخدام unittest
- بناء تطبيق ويب بسيط باستخدام Django في Python