ما الذي يفعله التنسيق الجميل لـ JSON الخاص بك
يحزم JSON المضغوط جميع البيانات في سطر واحد لتوفير البايتات — مثالي للنقل عبر الشبكة لكنه غير مقروء للبشر. التنسيق الجميل هو العكس: يُعيد تسلسل البنية المُحلَّلة مع فواصل أسطر ومسافات بادئة متسقة، بحيث يظهر كل زوج مفتاح-قيمة وكل عنصر مصفوفة في سطره الخاص، متداخلاً بالعمق الصحيح.
يُحلّل مُنسّقنا المدخلات أولاً — ما يعني اكتشاف أخطاء الصياغة قبل محاولة التنسيق — ثم يُعيد التسلسل باستخدام أسلوب المسافة البادئة الذي اخترته (مسافتان، أربع مسافات، أو محرف جدولة). النتيجة حتمية: المدخلات ذاتها تُنتج دائماً المخرجات المُنسَّقة ذاتها بغض النظر عن المسافات البيضاء الأصلية.
بعيداً عن القراءة، يُعدّ التنسيق الجميل شكلاً خفيفاً من التطبيع. تبقى المفاتيح داخل كل كائن في ترتيبها الأصلي، لكن جميع المسافات البيضاء الزائدة تُزال ثم تُضاف من جديد بشكل موحد. هذا يجعل الفروق سطراً بسطر بين ملفي JSON أكثر نظافة.
أساليب التعقيد ومتى تستخدم كلاً منها
التعقيد بمسافتين هو الأسلوب الأكثر شيوعاً في قواعد كود JavaScript وTypeScript وفي معظم أمثلة JSON Schema. يمنع البنى العميقة التداخل من الانزياح بعيداً جداً نحو اليمين على طرفيات عرضها 80 حرفاً.
التعقيد بأربع مسافات هو المعيار في مجتمعَي Python (PEP 8) وJava. إن كان JSON الخاص بك سيُدمج في مشروع Python أو Java ويُراجع جنباً إلى جنب مع ملفات أخرى، فإن أربع مسافات يجعله متسقاً بصرياً.
التعقيد بمحرف الجدولة يتيح لمحرر كل مطور عرض التعقيد بعرضه المفضل. فضّل الجداول حين يستخدم مستودعك الجداول بالفعل لأنواع ملفات أخرى، للحفاظ على الاتساق.
التنسيق الجميل مقابل التحقق مقابل الضغط
التنسيق الجميل والتنسيق عملية واحدة: إضافة مسافات بيضاء للقراءة. التحقق يتحقق من أن JSON صحيح صياغياً وأنه يطابق مخططاً اختيارياً — لا يُعدّل البيانات. الضغط عكس التنسيق الجميل: يحذف جميع المسافات البيضاء غير الضرورية لتقليل حجم الملف.
استخدم التنسيق الجميل حين تتلقى استجابة API أو إدخال سجل أو كتلة إعدادات يصعب قراءتها في شكلها المضغوط. استخدم الضغط قبل تضمين JSON في صفحة HTML في الإنتاج. استخدم التحقق لتأكيد صحة البيانات قبل معالجتها.
لملفات JSON الكبيرة جداً (مئات الميغابايتات)، قد تكون الأدوات المعتمدة على المتصفح بطيئة. في تلك الحالات، استخدم أدوات سطر الأوامر: python -m json.tool أو jq . على macOS/Linux.