فشردهسازی JSON
فاصلههای اضافه JSON را حذف کنید و یک خط فشرده و معتبر بگیرید؛ فشردهسازی همزمان با جایگذاری انجام میشود.
فشردهسازی آنلاین JSON
JSON فرمتشده برای خواندن آدمها نوشته شده است؛ تورفتگی و شکست خطها برای تجزیهگر هیچ معنایی ندارند. فشردهسازی (minify) آنها را حذف میکند تا همان داده بایت کمتری بگیرد و در یک خط جا شود؛ چیزی که برای متغیرهای محیطی، آرگومانهای خط فرمان، خطهای لاگ و بدنه درخواستها کاربردی است.
این صفحه فرمتکننده JSON را طوری باز میکند که به محض جایگذاری، سند را فشرده کند. سند ابتدا تجزیه میشود، پس همیشه فقط JSON معتبر کپی میکنید.
دقیقاً چه چیزی حذف میشود
- فاصلهها و تبهای تورفتگی.
- شکست خط میان کلیدها و عضوهای آرایه.
- فاصله پس از
:و,. - هیچ چیزی درون رشتههای داخل کوتیشن:
"New York"فاصلهاش را حفظ میکند.
فشردهسازی کجا به کار میآید
| موقعیت | چرا یک خط کمک میکند |
|---|---|
| متغیرهای محیطی و ابزارهای مدیریت secret | بسیاری از آنها مقدار تکخطی انتظار دارند |
| curl و آرگومانهای CLI | نیازی به escape کردن شکست خط در shell نیست |
| لاگهای ساختیافته (JSON Lines) | قالبش یعنی هر رکورد در یک خط |
| ذخیره JSON در ستون پایگاهداده | بایت کمتر برای هر ردیف |
| فایلهای JSON ایستا که وبسایت ارائه میدهد | دانلود کمحجمتر، حتی پیش از فشردهسازی |
Minify در برابر gzip
برای JSONی که از طریق HTTP ارائه میشود، فشردهسازی HTTP بیشتر کار را انجام میدهد: gzip و Brotli در فشردن فاصلههای تکراری بسیار خوباند. minify همچنان کمی کمک میکند و هزینهای ندارد، اما انتظار نداشته باشید متنی که ۴۰ درصد کوچکتر شده، پاسخی ۴۰ درصد سریعتر بدهد. جایی که minify بهوضوح برنده است، هر جایی است که فشردهسازی اعمال نمیشود؛ مثل local storage، فیلدهای پایگاهداده و صفهای پیام.
Minify در کد
- JavaScript:
JSON.stringify(JSON.parse(text)) - Python:
json.dumps(obj, separators=(',', ':')) - jq:
jq -c . file.json - PHP:
json_encode(json_decode($text))
اول باید خطای سینتکس را پیدا کنید؟ اعتبارسنجی JSON توضیح میدهد چه چیزی و کجا اشتباه است.