ضغط JSON وتصغيره
أزل المسافات الفارغة من JSON واحصل على سطر واحد مدمج وصالح، يُضغط فور اللصق.
ضغط JSON أونلاين
يُكتب JSON المنسَّق للبشر، فالمسافات البادئة وفواصل الأسطر لا تعني شيئًا للمحلّل. والضغط (minify) يزيلها لتشغل البيانات نفسها بايتات أقل وتتسع في سطر واحد، وهذا مفيد لمتغيرات البيئة ومعاملات سطر الأوامر وأسطر السجلات ومحتوى الطلبات.
تفتح هذه الصفحة منسّق JSON مضبوطًا على الضغط فور اللصق. ويُحلَّل المستند أولًا، فلا تنسخ إلا JSON صالحًا.
ما الذي يُحذف بالضبط
- مسافات البادئة وعلامات الجدولة (tabs).
- فواصل الأسطر بين المفاتيح وعناصر المصفوفات.
- المسافات بعد
:و,. - لا شيء داخل السلاسل النصية المقتبسة:
"New York"تحتفظ بمسافتها.
متى يفيد الضغط
| الحالة | لماذا يفيد السطر الواحد |
|---|---|
| متغيرات البيئة ومديرو الأسرار | كثير منها يتوقع قيمة في سطر واحد |
| curl ومعاملات سطر الأوامر | لا حاجة إلى تهريب فواصل الأسطر في الطرفية |
| السجلات المهيكلة (JSON Lines) | سجل واحد في كل سطر هو أساس الصيغة |
| تخزين JSON في عمود قاعدة بيانات | بايتات أقل في كل صف |
| ملفات JSON الثابتة التي يقدّمها موقع ويب | تنزيلات أصغر، حتى قبل الضغط |
الضغط بالتصغير مقابل gzip
في JSON الذي يُقدَّم عبر HTTP، يتولى الضغط معظم العمل: فـgzip وBrotli بارعان جدًا في ضغط المسافات المتكررة. ويبقى التصغير مفيدًا قليلًا ولا يكلّف شيئًا، لكن لا تتوقع أن يعني نص أصغر بنسبة 40 بالمئة استجابة أسرع بنسبة 40 بالمئة. أما حيث يتفوّق التصغير بوضوح فهو كل موضع لا يُطبَّق فيه الضغط، مثل التخزين المحلي وحقول قواعد البيانات وطوابير الرسائل.
ضغط JSON برمجيًا
- JavaScript:
JSON.stringify(JSON.parse(text)) - Python:
json.dumps(obj, separators=(',', ':')) - jq:
jq -c . file.json - PHP:
json_encode(json_decode($text))
تحتاج أولًا إلى العثور على خطأ في الصياغة؟ يشرح مدقق JSON ما الخطأ وأين يقع.