التعامل مع بيانات JSON في بايثون
JSON (JavaScript Object Notation) هو تنسيق خفيف لتبادل البيانات، وهو سهل للقراءة والكتابة من قبل البشر وسهل التحليل والتوليد من قبل الآلات. يُستخدم JSON بشكل شائع لتبادل البيانات بين الخادم وتطبيقات الويب. توفر بايثون وحدة مدمجة تُسمى json
للتعامل مع بيانات JSON.
تحليل بيانات JSON
لتحليل بيانات JSON (تحويلها إلى قاموس بايثون)، يمكنك استخدام دالة json.loads()
:
import json
json_data = '{"name": "Alice", "age": 30, "city": "New York"}'
data = json.loads(json_data)
print(data['name']) # Output: Alice
print(data['age']) # Output: 30
json_data
هو نص JSON.
json.loads()
تُحوِّل نص JSON إلى قاموس بايثون.
إنشاء بيانات JSON
لتحويل قاموس بايثون إلى نص JSON، يمكنك استخدام دالة json.dumps()
:
import json
data = {
"name": "Alice",
"age": 30,
"city": "New York"
}
json_data = json.dumps(data)
print(json_data) # Output: {"name": "Alice", "age": 30, "city": "New York"}
قراءة وكتابة ملفات JSON
يمكنك القراءة من وكتابة إلى ملفات JSON باستخدام json.load()
وjson.dump()
:
القراءة من ملف JSON:
import json
with open('data.json', 'r') as file:
data = json.load(file)
print(data)
الكتابة إلى ملف JSON:
import json
data = {
"name": "Alice",
"age": 30,
"city": "New York"
}
with open('data.json', 'w') as file:
json.dump(data, file)
تمارين
التمرين 1
حلل نص JSON يحتوي على قائمة من معلومات المستخدمين واطبع اسم وعمر كل مستخدم.
import json
json_data = '[{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]'
users = json.loads(json_data)
for user in users:
print(f"Name: {user['name']}, Age: {user['age']}")
التمرين 2
أنشئ قاموس بايثون يحتوي على تفاصيل كتاب (العنوان، المؤلف، السنة). حوِّل هذا القاموس إلى نص JSON واطبعه.
import json
book = {
"title": "1984",
"author": "George Orwell",
"year": 1949
}
json_book = json.dumps(book)
print(json_book)
التمرين 3
اكتب برنامجًا يقرأ البيانات من ملف JSON، يعدل البيانات (مثل تغيير عمر شخص)، ويكتب البيانات المعدلة مرة أخرى إلى الملف.
import json
# قراءة من ملف 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)
عمل رائع! لقد تعلمت كيفية التعامل مع بيانات JSON في بايثون، بما في ذلك تحليل نصوص JSON، وإنشاء بيانات JSON، وقراءة وكتابة ملفات JSON. هذه المهارة أساسية للعمل مع واجهات برمجة التطبيقات (APIs) وتبادل البيانات بين التطبيقات.
اترك تعليقاً