allow_nan=False يخص الكتابة، لا القارئ الافتراضي. مثال كتابة: json.dumps(float("nan"),allow_nan=False) يطلق ValueError. [1]
الخلاصة السريعة
لا؛ هذا الخيار للمرمّز، ويمكن للقراءة الافتراضية قبول NaN. [1]
- allow_nan=False يخص الكتابة، لا القارئ الافتراضي. مثال كتابة: json.dumps(float("nan"),allow_nan=False) يطلق ValueError. [1]
- json.loads("NaN") يقبله افتراضيًا، رغم أنه خارج معيار JSON. [1]
- على CPython 3.12.14: json.loads(raw,allow_nan=False) يطلق TypeError. [1]
- للرفض في المثال: parse_constant=reject يطلق ValueError. [1]
- تحكم: json.loads("[7]",parse_constant=reject) يعيد [7]؛ يبقى raw نص 'NaN'. [1]
خيار في جهة الكتابة
allow_nan=False يخص الكتابة، لا القارئ الافتراضي. مثال كتابة: json.dumps(float("nan"),allow_nan=False) يطلق ValueError. [1]
قبول خارج المعيار
json.loads("NaN") يقبله افتراضيًا، رغم أنه خارج معيار JSON. [1]
الكلمة المفتاحية في الجهة الأخرى
على CPython 3.12.14: json.loads(raw,allow_nan=False) يطلق TypeError. [1]
import json raw="NaN" def reject(token): raise ValueError(token) [1]

رفض الثابت والتحكم
للرفض في المثال: parse_constant=reject يطلق ValueError. [1]
json.loads(raw,parse_constant=reject) -> ValueError [1]
تحكم: json.loads("[7]",parse_constant=reject) يعيد [7]؛ يبقى raw نص 'NaN'. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
