العمل مع بيانات JSON في Python
JSON (ترميز كائنات JavaScript) هو تنسيق بيانات خفيف الوزن يستخدم لتبادل البيانات بين الخادم والعميل. يُستخدم عادةً في تطبيقات الويب لإرسال واستقبال البيانات. يوفر Python وحدة مدمجة تسمى json
تسهل العمل مع بيانات JSON. سترشدك هذه المقالة خلال أساسيات العمل مع بيانات JSON في Python، بما في ذلك قراءة كائنات JSON وكتابتها ومعالجتها.
ما هو JSON؟
JSON هو تنسيق نصي سهل القراءة والكتابة لكل من البشر والآلات. يتكون من أزواج مفتاح-قيمة، على غرار قواميس Python. يبدو كائن JSON النموذجي على النحو التالي:
{
"name": "Alice",
"age": 30,
"city": "New York",
"is_student": false,
"skills": ["Python", "JavaScript", "SQL"]
}
استيراد وحدة JSON
تم تضمين وحدة json
في مكتبة Python القياسية، لذا لا تحتاج إلى تثبيت أي شيء. ما عليك سوى استيرادها في بداية البرنامج النصي الخاص بك:
import json
قراءة بيانات JSON
يمكنك قراءة بيانات JSON من سلسلة أو ملف. تُستخدم طريقة json.loads()
لتحليل بيانات JSON من سلسلة، بينما تُستخدم طريقة json.load()
لقراءة بيانات JSON من ملف.
قراءة JSON من سلسلة
لقراءة JSON من سلسلة، استخدم طريقة json.loads()
، والتي تقوم بتحويل سلسلة JSON إلى قاموس Python.
# Example of reading JSON from a string
json_string = '{"name": "Alice", "age": 30, "city": "New York"}'
data = json.loads(json_string)
print(data)
print(data['name']) # Output: Alice
قراءة JSON من ملف
لقراءة بيانات JSON من ملف، استخدم طريقة json.load()
. تقرأ هذه الطريقة محتويات الملف وتحولها إلى قاموس Python.
# Example of reading JSON from a file
with open('data.json', 'r') as file:
data = json.load(file)
print(data)
كتابة بيانات JSON
يمكنك كتابة بيانات JSON إلى سلسلة أو ملف. تُستخدم طريقة json.dumps()
لتحويل كائن Python إلى سلسلة JSON، بينما تُستخدم طريقة json.dump()
لكتابة بيانات JSON إلى ملف.
كتابة JSON إلى سلسلة
لكتابة JSON إلى سلسلة، استخدم طريقة json.dumps()
، التي تقوم بتحويل قاموس Python إلى سلسلة JSON.
# Example of writing JSON to a string
data = {
"name": "Bob",
"age": 25,
"city": "Los Angeles"
}
json_string = json.dumps(data)
print(json_string)
كتابة JSON إلى ملف
لكتابة بيانات JSON إلى ملف، استخدم طريقة json.dump()
. تأخذ هذه الطريقة كائن Python وتكتبه إلى ملف بتنسيق JSON.
# Example of writing JSON to a file
data = {
"name": "Bob",
"age": 25,
"city": "Los Angeles"
}
with open('output.json', 'w') as file:
json.dump(data, file)
طباعة بيانات JSON بشكل جميل
تحتوي طريقة json.dumps()
على عدة معلمات تسمح لك بتنسيق بيانات JSON لتحسين قابلية القراءة. تحدد معلمة indent
عدد المسافات التي يجب استخدامها للتباعد، بينما تقوم معلمة sort_keys
بفرز المفاتيح في المخرجات.
# Example of pretty-printing JSON data
data = {
"name": "Charlie",
"age": 35,
"city": "Chicago"
}
json_string = json.dumps(data, indent=4, sort_keys=True)
print(json_string)
التحويل بين أنواع البيانات JSON وPython
يمكن لوحدة json
في Python التعامل مع أنواع بيانات مختلفة وتحويلها بين JSON وPython. فيما يلي مرجع سريع:
dict
(بايثون) إلىobject
(JSON)قائمة
(بايثون) إلىمصفوفة
(JSON)str
(بايثون) إلىstring
(JSON)int
،float
(بايثون) إلىnumber
(JSON)صحيح
،خطأ
(بايثون) إلىصواب
،خطأ
(JSON)None
(Python) إلىnull
(JSON)
معالجة أخطاء JSON
أثناء العمل باستخدام JSON، قد تحدث أخطاء بسبب التنسيق غير الصحيح أو البيانات غير المتوقعة. تثير وحدة json
استثناءات مثل JSONDecodeError
عندما تواجه مثل هذه المشكلات. استخدم الكتل try
وexcept
للتعامل مع هذه الأخطاء بسلاسة.
# Handling JSON errors
json_string = '{"name": "Alice", "age": 30, "city": "New York"' # Missing closing brace
try:
data = json.loads(json_string)
except json.JSONDecodeError as e:
print(f"Error decoding JSON: {e}")
خاتمة
يعد التعامل مع بيانات JSON مهارة أساسية لمطوري Python، وخاصة في تطوير الويب وعلوم البيانات. توفر وحدة json
طرقًا سهلة الاستخدام لقراءة بيانات JSON وكتابتها ومعالجتها. من خلال إتقان هذه التقنيات، يمكنك التعامل بكفاءة مع بيانات JSON في تطبيقات Python الخاصة بك.