JSON (JavaScript Object Notation) هو تنسيق تبادل البيانات المهيمن على الويب الحديث. واجهات REST API وملفات الإعدادات وقواعد بيانات NoSQL والـ Webhooks تستخدم جميعها JSON. رغم بساطة مظهره، فإن JSON له قواعد صارمة لبناء الجملة — حرف واحد في المكان الخاطئ يمكن أن يُفشل الـ Payload بأكمله.
قواعد بناء جملة JSON الأساسية
- يجب استخدام علامات الاقتباس المزدوجة للنصوص، وليس المفردة
- لا فواصل زائدة بعد العنصر الأخير في كائن أو مصفوفة
- لا تعليقات (// أو /* */) — JSON يختلف عن JavaScript
- يجب أن تكون المفاتيح نصوصًا بين علامتَي اقتباس مزدوجتين
- يمكن أن تكون القيم: نصًا، أو رقمًا، أو منطقيًا، أو null، أو كائنًا، أو مصفوفة
التنسيق مقابل التصغير: متى تستخدم كلًّا منهما؟
JSON المنسّق (pretty-printed) يستخدم المسافات البادئة وفواصل الأسطر لجعل البنية مقروءة للإنسان. هذا ضروري عند التصحيح ومراجعة الكود والعمل مع ملفات الإعدادات. JSON المصغّر يزيل كل المسافات البيضاء غير الضرورية لإنتاج أصغر حجم ممكن — مثالي لاستجابات API في الإنتاج حيث يهم حجم النطاق الترددي.
أكثر أخطاء JSON شيوعًا
- الفاصلة الزائدة: {"key": "value",} — غير صالح في JSON رغم صلاحيته في JavaScript
- علامات الاقتباس المفردة: {'key': 'value'} — يجب استخدام علامات الاقتباس المزدوجة
- المفاتيح غير المُقتبسة: {key: "value"} — يجب دائمًا اقتباس المفاتيح
- التعليقات: {"key": "value" // تعليق} — JSON لا يدعم التعليقات
- القيمة undefined: {"key": undefined} — استخدم null بدلًا منها