DouNest

دليل JSON الشامل 2026: من الصفر إلى الاحتراف بلا أخطاء

JSON اختصار لـ JavaScript Object Notation، وهو اليوم أكثر تنسيق لتبادل البيانات استخداماً في العالم الرقمي بأكمله: كل رسالة بين تطبيقك وخادم أي خدمة حديثة تمر بصيغة JSON تقريباً، وكل ملفات إعدادات الأدوات الحديثة من VS Code إلى package.json مبنية عليه. رغم بساطته الظاهرية، تخبئ صيغة JSON تفاصيل صارمة تصطدم بها ملايين المطورين يومياً، وهذا الدليل يجمعها كلها في مكان واحد.

لماذا انتشر JSON بهذه السرعة؟

ثلاثة أسباب جوهرية صنعت هيمنته: أولاً البساطة — JSON ليس أكثر من نص منظم بأقواس يمكن لأي إنسان قراءته مباشرة دون أدوات. ثانياً التطابق الطبيعي مع طريقة تمثيل البيانات في معظم لغات البرمجة: قوائم وقواميس ونصوص وأرقام موجودة في كل لغة تقريباً. ثالثاً الدعم الجامع — كل لغة برمجة حديثة تمتلك مكتبة قياسية جاهزة لقراءته وكتابته، وكل مستعرض إنترنت يضم محلل JSON مدمجاً في محركه.

وللمقارنة التاريخية: XML الذي سبقه كان يتطلب وسوم إغلاق لكل عنصر وحجماً مضاعفاً ومكتبات تحليل ثقيلة، بينما JSON يحقق نفس الغرض بنصف الحجم وثلث التعقيد. وصيغ أحدث مثل YAML تتفوق في قابلية القراءة البشرية لكنها بطيئة التحليل ومليئة بالمفارقات الغامضة (مشكلة Norway: اسم النرويج يتحول لقيمة false في YAML!) بينما JSON محكم ومتوقع دائماً.

البنية الأساسية: ستة أنواع فقط

كل ملف JSON صالح مبني من ستة أنواع فقط، وحفظها يمنع 80% من الأخطاء:

  • الكائن object: أزواج مفتاح/قيمة داخل أقواس معقوفة { } — المفاتيح نصوص دائماً.
  • المصفوفة array: قائمة مرتبة داخل أقواس زاوية [ ] — تقبل أي مزيج من الأنواع.
  • النص string: داخل علامتي اقتباس مزدوجتين حصراً.
  • الرقم number: عشري أو صحيح، بلا اقتباسات.
  • القيم المنطقية: true و false بحروف صغيرة حصراً.
  • القيمة الفارغة: null بحروف صغيرة.

مثال يجمعها جميعاً:

{"name": "محمد", "age": 27, "skills": ["json", "python"], "active": true, "manager": null}

الأخطاء الخمسة التي تسقط الجميع

الخطأ الأول والأشهر: الاقتباس المفرد. JSON صارم بلا استثناء — 'text' غير صالح مهما كانت الظروف، فقط "text". الخطأ الثاني: الفاصلة الزائدة بعد آخر عنصر، وهي مسموحة في جافاسكربت نفسه لكنها تكسر JSON تماماً، وتظهر غالباً عند التحرير اليدوي. الخطأ الثالث: التعليقات — JSON لا يدعمها إطلاقاً، وإن احتجتها استخدم صيغة JSONC في ملفات إعدادات أدوات تدعمها فقط. الخطأ الرابع: المفاتيح غير المقتبسة: {age: 27} غير صالح لأن المفتاح يجب أن يكون نصاً مقتبساً. الخطأ الخامس: الأرقام الخاصة NaN وInfinity غير موجودة في المعيار.

JSON في عالم API الحقيقي

عند التعامل مع واجهات API تظهر طبقة عملية إضافية من المهارات: تحقق دائماً من رأس Content-Type قبل التحليل، وتعامل مع حالات الاستجابة الفارغة والشبكة المتقطعة، ولا تفترض أبداً وجود حقل معين حتى لو ظهر في كل تجاربك السابقة — الـ APIs تتغير. واستخدم أدوات فحص فورية قبل إرسال أي طلب أو اعتماد أي استجابة.

للتطوير المحلي، الدورة المثالية: الصق استجابة API في منسق JSON لترى بنيتها كاملة منسقة ومقروءة، وحدد الحقول التي تحتاجها فعلية، ثم اكتب كود الاستخراج بناء على ما تراه بعينك لا على افتراضات.

التحقق من الصحة و JSON Schema

في المشاريع الكبيرة لا يكفي أن يكون JSON صالحاً نحوياً — يجب أن يطابق شكلاً متوقعاً: حقل العمر رقماً لا نصاً، وقائمة المهارات غير فارغة. هنا يدخل معيار JSON Schema الذي يصف البنية المتوقعة آلياً ويتحقق منها: احتفظ بمخطط لكل استجابة API تعتمدها، وشغّل التحقق في حدود نظامك قبل دخول أي بيانات خارجية إليه. هذه الممارسة الواحدة تمنع أغلب أعطال التكامل بين الأنظمة.

نصائح الاحتراف

استخدم أسماء مفاتيح متسقة النمط (camelCase أو snake_case — اختر واحداً والتزم به في المشروع كله). حافظ على الملفات معقولة الحجم وقسّم البيانات الضخمة. لا تضع أبداً بيانات حساسة (كلمات مرور، رموز) في JSON غير مشفر. واحفظ ترميز UTF-8 للملفات كي لا تتلف النصوص العربية. وعند التصغير للنشر استخدم وضع Minify في الأداة نفسها بدل البحث عن أداة أخرى.

الخلاصة

JSON بسيط على السطح وصارم في التفاصيل: اقتباسات مزدوجة حصراً، لا فواصل زائدة، لا تعليقات، مفاتيح مقتبسة. احفظ القواعد الست للأنواع، واستخدم أداة تحقق فورية كلما شككت، وطبق JSON Schema في المشاريع الجادة — وستتحول صيغة أزعجتك يوماً إلى أداة تعمل معك بلا احتكاك.