الخلاصة السريعة
json.loads يحتفظ بآخر قيمة للاسم المكرر افتراضيًا؛ المثال يعيد x=9. [1] [2]
- قيمة x الأولى، 4، تختفي من القاموس. [1] [2]
- التكرار وحده لا يرفع خطأ هنا. [1] [2]
- object_pairs_hook=list يحفظ الأزواج الثلاثة بترتيبها، ومنها قيمتا x. [1] [2]
- ناتج الخطاف قائمة أزواج؛ لا تسترجع 4 من القاموس الافتراضي وحده. [1] [2]
- اختبرنا 3.12.14 وكائنًا مسطحًا؛ لا نعمم على قارئات أخرى أو التعشيق. [1] [2]
المثال
import json
raw='{"x":4,"x":9,"y":2}'
print(json.loads(raw))
print(json.loads(raw,
object_pairs_hook=list))الأول: dict بقيمتي x=9 وy=2. الثاني: [('x',4),('x',9),('y',2)]. [1] [2]
القيمة التي ضاعت
نجاح القراءة لا يثبت تفرد الأسماء. [1] [2]
الأزواج
مع الخطاف، القائمة تحفظ تكرار الاسم وتغير نوع الناتج؛ افحصها قبل تحويلها إلى قاموس. [1] [2]

النطاق
هذا سلوك القراءة في المثال، وليس قاعدة لقبول التكرار لدى كل محلل. [1] [2]
المراجع
- Python: أسماء JSON والخطاف
- CPython 3.12.14: محلل الكائن
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
