جاري التحميل...

JSON

JSON نص. القاموس يحفظ الأسماء والقيم داخل البرنامج، لكنه ليس JSON بعد. تحوّل dumps القاموس إلى سطر واحد من النص. لا تفتح هذه الصفحة ملفًا ولا تبني مسارًا.

القاموس يصبح سطرًا نصيًا

python
import json
lamp = {"color": "blue", "watts": 7}
text = json.dumps(lamp)
print(text)

تعرض الشاشة بالضبط {"color": "blue", "watts": 7}. الكلمتان color وblue بين علامتي اقتباس مزدوجتين. watts رقم، لذلك لا توجد علامات اقتباس حول 7. المسافة بعد النقطتين والمسافة بعد الفاصلة جزء من هذا النص. text سلسلة نصية. لا يُنشأ أي ملف، فـ open وPath غير موجودتين في هذا البرنامج.

النص يعود قاموسًا

python
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.

🧠 اختبر معرفتك

جاهز للبدء

اختبر معرفتك

تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع

❓
5
الأسئلة
🎯
70%
للنجاح
♾️
∞
الوقت
🔄
∞
المحاولات

📝 التعليمات

  • اقرأ كل سؤال بعناية
  • اختر أفضل إجابة لكل سؤال
  • يمكنك إعادة الاختبار عدة مرات كما تريد
  • سيتم عرض تقدمك في الأعلى