JSON
JSON نص. القاموس يحفظ الأسماء والقيم داخل البرنامج، لكنه ليس JSON بعد. تحوّل dumps القاموس إلى سطر واحد من النص. لا تفتح هذه الصفحة ملفًا ولا تبني مسارًا.
import json
lamp = {"color": "blue", "watts": 7}
text = json.dumps(lamp)
print(text)
تعرض الشاشة بالضبط {"color": "blue", "watts": 7}. الكلمتان color وblue بين علامتي اقتباس مزدوجتين. watts رقم، لذلك لا توجد علامات اقتباس حول 7. المسافة بعد النقطتين والمسافة بعد الفاصلة جزء من هذا النص. text سلسلة نصية. لا يُنشأ أي ملف، فـ open وPath غير موجودتين في هذا البرنامج.
import json
text = '{"color": "blue", "watts": 7}'
lamp = json.loads(text)
print(lamp["color"])
print(lamp["watts"])
تعرض الشاشة blue ثم 7. تقرأ loads نص JSON وتبني القاموس من جديد. lamp["color"] هي الكلمة blue؛ فعلامتا الاقتباس بقيتا في النص ولا تدخلان في القيمة. أما lamp["watts"] فهو الرقم 7 وليس الكلمة 7. لا يقرأ هذا البرنامج ملفًا، لأن النص كان في المتغيّر أصلًا.
📊 dumps وloads
| الاستدعاء | تبدأ بـ | تحصل على |
|---|---|---|
| json.dumps | قاموس | سطر واحد من نص JSON، ولا يُكتب أي ملف |
| json.loads | نص JSON | قاموس، ولا يُقرأ أي ملف |
إذا لم يكن النص JSON حقيقيًا، تتوقف loads. اسم هذا التوقف JSONDecodeError. السطر {color: blue} ليس JSON، لأن الأسماء والكلمة blue بلا علامات اقتباس مزدوجة. هذا السطر ليس في البرنامجين. ولا تُكتب None بدلًا منه، ولا يتابع البرنامج عمله.
الصفحة التالية هي جدول نصي CSV. تكتفي هذه الصفحة بتحويل القاموس إلى نص، ثم تحويل هذا النص إلى قاموس من جديد.
النص، ثم القاموس من جديد
تعرض dumps السطر {"color": "blue", "watts": 7}. ثم تعرض loads الكلمة blue والرقم 7. العدد 7 رقم وليس كلمة. السطر المكسور يتوقف عند JSONDecodeError. لا يُكتب ملف ولا يُقرأ ملف. والصفحة التالية هي جدول نصي CSV.
🧠 اختبر معرفتك
اختبر معرفتك
تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع
📝 التعليمات
- اقرأ كل سؤال بعناية
- اختر أفضل إجابة لكل سؤال
- يمكنك إعادة الاختبار عدة مرات كما تريد
- سيتم عرض تقدمك في الأعلى