كيفية التعامل مع ملفات JSON في Python

تمت الكتابة بواسطة: عبد الحكيم

تارخ آخر تحديث: 19 ديسمبر 2024

محتوى المقال

كيفية التعامل مع ملفات JSON في Python

تُستخدم ملفات 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 من الإنترنت ومعالجته بسهولة.

طور مهاراتك: مقالات يجب قراءتها في البرمجة