مُختصر بيانات JSON

قم بلصق مستند JSON مطبوع بصيغة جميلة للحصول على نسخة من سطر واحد تخلو تمامًا من جميع البايتات غير الضرورية: الفواصل بين العناصر، وسطرات النص الجديدة، والمساحات الخلفية، وتعليقات JSONC. يكون عدد البايتات في المخرج مماثلًا لأقصر ترميز ممكن لنفس البيانات، وهو جاهز للإدراج في ملف <script>، أو كمعلمة URL، أو كحمولة بيانات تُدفع مقابل كل بايت.

كيفية تقليل حجم ملفات JSON

  1. 1

    لصق بيانات JSON

    مطبوع بدقة أو تم تقليل حجمه جزئيًا مسبقًا؛ يتم تحليل المدخلات ثم إعادة ترميزها.

  2. 2

    تقليل الحجم إلى أدنى حد ممكن

    يتم إزالة جميع المساحات الفارغة بين العلامات؛ وتُزال التعليقات؛ بينما تبقى الأرقام كما هي.

  3. 3

    انظر إلى قيمة التغير في الحجم

    عدد البايتات قبل وبعد ونسبة الانخفاض المئوي.

  4. 4

    قم بنسخ الناتج.

    صيغة JSON أحادية السطر جاهزة لللصق في ملف كود أو طلب واجهة برمجة التطبيقات (API).

ما يتم إزالته

  • المسافات الفارغة بين العلامات النصية: الفواصل، أزرار التبويب، وسطر جديد.
  • التعليقات (بصيغة JSONC: // و/* */) – تم حذفها لأن تنسيق JSON الصارم يحظر استخدامها.
  • قائمة المكونات (BOM) والمساحة الفارغة المقدمة في بداية المستند.

ما الذي لا يتم إزالته؟

  • القيم: يتم الحفاظ على كل سلسلة نصية، وكل عدد، وكل قيمة منطقية (boolean)، وكذلك القيمة الفارغة (null) بدقة تامة.
  • تنسيق الأرقام: يُحفظ كل رقم تمامًا كما كُتب: فيبقى 1.50 هو 1.50 ويبقى 1e-3 هو 1e-3. وتحافظ الأداة على الدقة التي أدخلتها.
  • ترتيب المفاتيح: تحافظ الكائنات على ترتيب إدخالها الأصلي.

لماذا يتم تقليل حجم ملفات JSON؟

  • الحمولات الأصغر: يمكن أن ينكمش ملف التهيئة البالغ حجمه 120 كيلوبايت والذي يتم طباعته بجودة عالية إلى 70 كيلوبايت؛ وهذا أمر مهم بالنسبة لكل طلب.
  • الإدراج المباشر: عند إدخال بيانات بصيغة JSON داخل علامة <script> أو في معلمة عنوان URL، فإن المسافات الفارغة تؤدي إلى هدر في عرض النطاق الترددي.
  • استقرار التجزئة (Hash Stability): وثيقتان JSON متطابقتان دلاليًا، لكن تجزئتاهما للمسافات الفارغة ينتج عنه قيم مختلفة. يؤدي التقليل الأولي إلى تجزئة متسقة، على الرغم من أن التوحيد الكامل يُرتّب أيضًا المفاتيح.

مرجع توفير الحجم

المدخل منسّق (بمسافتين) مصغّر التوفير
إعداد صغير (50 مفتاحًا) 1.8 كيلوبايت 1.1 كيلوبايت 39%
استجابة API (بحمل تضميني 5 كيلوبايت) 6.2 كيلوبايت 4.1 كيلوبايت 34%
تصدير بيانات ضخم 1.2 ميغابايت 0.8 ميغابايت 33%

بعد استخدام gzip، يقل الفرق بشكل كبير؛ إذ تقوم gzip بالفعل بضغط المساحات الفارغة بكفاءة عالية. استخدم التصغير في حالات البيانات الخام (مثل عناوين URL والعناصر المدمجة مباشرةً)، بينما يُستحسن الاعتماد على gzip في حالات النقل عبر الشبكة.

متى لا يجب تقليل الحجم

  • ملفات التهيئة المخزنة في أنظمة التحكم بالإصدارات: يُعطى الأولوية للقابلية للقراءة على حساب عدد البايتات.
  • الملفات التي يحررها البشر، لا أحد يعدل ملفات JSON المختصرة يدويًا دون أن يندم على ذلك.
  • تصحيح الأخطاء في البيانات المسجلة: من المستحيل قراءة ملف JSON مكوّن من سطر واحد بحجم 400 كيلوبايت موجود في سجل الحادث.

الأخطاء الشائعة

    • تقليل حجم ملفات JSON التي تعتمد على التعليقات: يتم إزالة التعليقات من الملف، وقد يتغير سلوك مُحلل البيانات إذا كانت هناك علامات من نوع “TODO”.
  • تقليل حجم الأعداد ذات النقطة العائمة: تُعيد بعض الأدوات ترميز البيانات من نوع 0.1 بطريقة مختلفة عن الصيغة المدخلة؛ ويحافظ هذا الأداة على التمثيل النصي بدقة تامة.
  • استخدام التصغير كوسيلة للضغط. عند معالجة النصوص، يوفر gzip عددًا أكبر من البايتات مقارنةً بالتصغير؛ لذا ادمج الطريقتين معًا دون استبدال إحداهما بالأخرى.

الأسئلة الشائعة

عادةً ما يكون حجم الملف أقل بنسبة تتراوح بين 30 و40٪ عند استخدام تنسيقات الطباعة الجذابة. ويأتي هذا التوفير بشكل شبه كامل من المساحات الفارغة، بينما تبقى البيانات الأساسية دون تغيير. وبعد استخدام أداة gzip، تكون الفروق بين النسخة المُصغّرة والنسخة ذات التنسيق الجذاب عادةً أقل من 5٪، نظرًا لكفاءة gzip في التعامل مع المساحات الفارغة.

يحافظ الأداة على الشكل النصي الدقيق للأرقام؛ فـ 1.50 يبقى هو 1.50، و1e-3 يبقى هو 1e-3. تُجري بعض أدوات التقليل من الحجم عملية تطبيع للقيم الرقمية، وهذه الأداة تتبع نهجًا حذرًا بشكل افتراضي، وبالتالي لا يحدث أي فقدان غير مقصود في الدقة.

لا، عملية التقليل تُنفَّذ بالكامل داخل متصفحك؛ ولا يغادر ملف JSON الملصق جهازك، مما يجعله آمنًا تمامًا للردود الواردة من واجهات برمجة التطبيقات التي تتضمن رموز أو إعدادات خاصة.

نعم، تُسمح بالتعليقات في المدخلات وتُزال من الناتج (حيث لا يسمح تنسيق JSON الصارم بها). إذا كنت بحاجة إلى الحفاظ على التعليقات، فاحتفظ بمصدر JSONC مُطبوع بشكل واضح، وقم بتقليل حجمه فقط عند عملية النشر.

أدوات ذات صلة

الأداة متاحة بلغات أخرى