التعامل مع بيانات JSON في بايثون

Amine
15/09/2024

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) وتبادل البيانات بين التطبيقات.

التعليقات

اترك تعليقاً