ویژگیهای کلیدی
- حالت دوگانه: <strong>فرمت</strong> مناسب برای انسان یا <strong>فشردهسازی</strong> متراکم با یک کلیک
- تجزیه دقیق JSON (RFC 8259 / ECMA-404) — JSON نامعتبر با خطاهای واضح رد میشود
- حالت چاپ زیبا، تورفتگی و شکستن خطوط را برای خواندن و بررسی آسانتر نرمال میکند
- حالت فشردهسازی، فضاهای خالی و خطوط جدید بیاهمیت را حذف میکند در حالی که مقادیر داده را حفظ میکند
- اندازه تورفتگی قابل تنظیم (1-8 فاصله) و سبک تورفتگی (فاصله یا تب) در حالت فرمت
- ⏎ گزینه برای همیشه درج یک خط جدید در انتهای فایل برای diffهای تمیز (`insertFinalNewline`)
- ایمن UTF-8: نقاط کد یونیکد و دنبالههای فرار داخل رشتهها را حفظ میکند
- 100% سمت کلاینت — JSON شما مستقیماً در مرورگر پردازش میشود
🛠️ نحوه فرمت یا فشردهسازی JSON for json-minifier
1. JSON خود را paste یا آپلود کنید
📥 JSON را در ویرایشگر paste کنید یا یک فایل <code>.json</code> را در منطقه drop رها کنید. ابزار ورودی را با استفاده از یک تجزیهکننده دقیق JSON اعتبارسنجی میکند — نظرات و کاماهای انتهایی مجاز نیستند.
2. فرمت یا فشردهسازی را انتخاب کنید
🎛️ از انتخابکننده عمل یا دکمههای <strong>فرمت</strong>/<strong>فشردهسازی</strong> برای انتخاب حالت خود استفاده کنید. فرمت با تورفتگی چاپ زیبا میکند؛ فشردهسازی یک نمایش یک خطی (یا چند خطی) متراکم تولید میکند.
3. تنظیمات تورفتگی را تنظیم کنید (حالت فرمت)
📏 در حالت فرمت، اندازه تورفتگی (1-8) و استفاده از فاصله یا تب را انتخاب کنید. همچنین میتوانید تصمیم بگیرید که آیا یک خط جدید در انتهای فایل درج شود یا خیر. حالت فشردهسازی همیشه از فضاهای خالی متراکمترین استفاده میکند.
4. نتیجه را کپی یا دانلود کنید
📤 JSON فرمت شده یا فشرده شده را مرور کنید و سپس آن را کپی کنید یا در یک فایل ذخیره کنید. از آن در پاسخهای API، فایلهای پیکربندی، مستندات یا فیکسچرهای تست استفاده کنید.
مشخصات فنی
تبدیلهای اصلی (دقیق و ایمن)
عملیات اعمال شده برای تولید یک خروجی JSON معتبر و مطابق با استاندارد.
| عملیات | اعمال شده | یادداشتها |
|---|---|---|
| تجزیه دقیق JSON | ✅ | کاراکترهای کنترلی، نظرات، ویرگولهای انتهایی، NaN/Infinity/undefined و سایر توکنهای غیراستاندارد را رد میکند. |
| حذف فاصلههای سفید در حالت فشردهسازی | ✅ | فاصلهها، تبها و خطوط جدید بین توکنها حذف میشوند؛ محتوای رشتهها دقیقاً حفظ میشود. |
| چاپ زیبا در حالت قالببندی | ✅ | JSON را با تورفتگی قابل پیکربندی و شکستهای خطی تمیز دوباره منتشر میکند. |
| حفظ ترتیب کلیدها | ✅ | ترتیب کلیدهای شیء از رفتار تجزیه/انتشار پیروی میکند (برای اکثر موارد استفاده به صورت عملکردی حفظ میشود). |
| واژههای عددی | ✅ | اعداد بر اساس موتور JSON زیربنایی سریالسازی میشوند؛ هیچ گرد کردن دلخواهی اضافه نمیشود. |
| مدیریت یونیکد | ✅ | هم کاراکترهای خام UTF-8 و هم فرارهای <code>\uXXXX</code> توسط تجزیهکننده/رشتهساز JSON رعایت میشوند. |
نکات سازگاری و ایمنی
نحوه رفتار ابزار با موارد مرزی و الگوهای غیراستاندارد.
| مورد | رفتار | توصیه |
|---|---|---|
| نظرات (<code>//</code>, <code>/* ... */</code>) یا ویرگولهای انتهایی | ❌ به عنوان JSON نامعتبر رد شد | از پیشپردازنده JSONC جداگانه استفاده کنید یا نظرات را قبل از استفاده از این ابزار حذف کنید. |
| اعداد صحیح بزرگ (> 2^53−1) | ⚠️ به عنوان اعداد JSON تجزیه میشوند | اگر به شناسههای دقیق ۶۴ بیتی نیاز دارید، آنها را به صورت رشته از ابتدا تا انتها نمایش دهید. |
| تاریخها و انواع سفارشی | ✅ به عنوان رشته حفظ شد | JSON هیچ نوع تاریخ یا نوع سفارشی بومی ندارد؛ مصرفکنندگان باید آنها را تفسیر کنند. |
| NDJSON (JSON جدا شده با خط) | ⚠️ مورد خاص در نظر گرفته نشده | هنگام استفاده از NDJSON، هر خط را جداگانه با ابزارهای CLI فشرده کنید. |
کاهش اندازه معمول در حالت فشردهسازی
صرفهجویی واقعی به قالببندی اصلی و تراکم نظرات شما بستگی دارد.
| سبک ورودی | صرفهجویی معمول | |
|---|---|---|
| به شدت قالببندی شده (فضاها/خطوط جدید زیاد) | ۲۰٪–۴۰٪ | رایج برای فایلهای پیکربندی زیباچاپ شده و پاسخهای API. |
| قالببندی متوسط | ۱۰٪–۲۵٪ | JSON با تورفتگی خوب اما فشرده. |
| از قبل فشرده | ۵٪–۱۰٪ | برخی ابزارها از قبل فضای سفید حداقلی تولید میکنند. |
جایگزینهای CLI برای قالببندی و فشردهسازی JSON
برای فایلهای بزرگ، اتوماسیون و CI/CD، این ابزار آنلاین را با ابزارهای خط فرمانی ترکیب کنید که همان رفتار را تقلید میکنند.
لینوکس / مکاواس / ویندوز
jq — فشردهسازی JSON
jq -c . input.json > output.min.jsonJSON فشرده را تجزیه و در یک خط برای هر سند مینویسد.
jq — زیباچاپ با تورفتگی ۲ فاصله
jq . input.json > pretty.jsonJSON را با تورفتگی یکنواخت برای خواندن آسانتر بازقالببندی میکند.
پایتون
فشردهسازی با کتابخانه استاندارد پایتون
python -c "import sys,json; print(json.dumps(json.load(sys.stdin), separators=(',',':')))" < input.json > output.min.jsonتجزیهگر سختگیر؛ فضای سفید و خطوط جدید بین توکنها را حذف میکند.
زیباچاپ با تورفتگی ۲ فاصله
python -c "import sys,json; print(json.dumps(json.load(sys.stdin), indent=2))" < input.json > pretty.jsonJSON را با تورفتگی مشابه ابزار آنلاین قالببندی میکند.
Node.js
تکخطی Node — فشردهسازی
node -e "const fs=require('fs');const s=fs.readFileSync(0,'utf8');process.stdout.write(JSON.stringify(JSON.parse(s)));" < input.json > output.min.jsonاز JSON.parse + JSON.stringify برای تولید خروجی فشرده استفاده میکند.
تکخطی Node — زیباچاپ
node -e "const fs=require('fs');const s=fs.readFileSync(0,'utf8');process.stdout.write(JSON.stringify(JSON.parse(s), null, 2));" < input.json > pretty.jsonJSON را با تورفتگی ۲ فاصله قالببندی میکند.
موارد استفاده رایج
عملکرد وب و API
- فشردهسازی پاسخهای JSON API قبل از سرو از طریق CDN.
- کوچک کردن محمولههای پیکربندی جاسازی شده در HTML یا JS.
- کاهش ردپای localStorage/sessionStorage با استفاده از JSON فشرده.
CI/CD و خطوط لوله داده
- یکنواختسازی مصنوعات JSON قبل از ذخیرهسازی یا مقایسه تفاوتها.
- اعمال قالببندی یکنواخت به مشخصات OpenAPI، مانیفستها و پیکربندیها.
- کوچک کردن مجموعهدادههای JSON بزرگ قبل از آپلود به ذخیرهسازی اشیاء.
اشکالزدایی، لاگها و تلهمتری
- چاپ زیبای لاگهای JSON با تودرتوی عمیق برای بررسی حوادث.
- فشردهسازی payloadهای لاگ ارسالی از طریق شبکه برای صرفهجویی در پهنای باند.
- آمادهسازی تصاویر خوانا از پاسخهای API برای گزارشهای خطا.
❓ Frequently Asked Questions
آیا قالببندی یا کوچک کردن JSON دادههای من را تغییر میدهد؟
JSON پایه را حفظ میکنند. حالت قالببندی فقط فاصلههای سفید و تورفتگی را تغییر میدهد تا ساختار را خوانا کند. حالت کوچکسازی فاصلههای سفید بیاهمیت بین توکنها را حذف میکند در حالی که کلیدها، مقادیر، آرایهها و اشیاء از نظر معنایی یکسان باقی میمانند.آیا از کامنتها یا ویرگولهای انتهایی پشتیبانی میکنید؟
JSON سختگیرانه (RFC 8259) را اعمال میکند و کامنتها و ویرگولهای انتهایی را رد میکند. اگر با JSONC کار میکنید، از یک پیشپردازنده جداگانه برای حذف کامنتها استفاده کنید، سپس JSON سختگیرانه حاصل را در اینجا قالببندی یا کوچک کنید.آیا کلیدها مرتب میشوند؟
JSON پایه است. اگر مصرفکنندگان شما به ترتیب کلیدها وابسته هستند، آن را مستند کنید و تست اضافه کنید، اما به یاد داشته باشید که خود JSON معناشناسی ترتیب را تعریف نمیکند.چگونه از از دست دادن اعداد صحیح بزرگ جلوگیری کنم؟
JSON به صورت doubleهای IEEE-754 نمایش داده میشوند. برای شناسههای بزرگ یا مقادیر عددی حساس (مانند اعداد صحیح 64 بیتی)، آنها را به صورت رشته end-to-end کدگذاری کنید تا هرگز دقت را در بین سیستمها از دست ندهید.آیا پردازش واقعاً سمت کلاینت است؟
Pro Tips
یک نسخه JSON کوچکنشده و با قالببندی خوب در مخزن خود نگه دارید برای diff و بررسی کد؛ JSON کوچکشده را در تولید سرویس دهید برای عملکرد بهتر.
هر فرضیات درباره ترتیب کلیدها یا مدیریت عددی خاص را مستند کنید و آنها را با تستها و لینترها اجرا کنید.
کوچکسازی JSON را با فشردهسازی HTTP (GZIP/Brotli) ترکیب کنید تا بهترین صرفهجویی در انتقال را به دست آورید.
برای کارهای تکراری (مانند پاکسازی مشخصات OpenAPI)، معادلهای CLI (jq/Python/Node) را اسکریپت کنید و از این ابزار آنلاین برای بررسیهای سریع یکباره استفاده کنید.
Additional Resources
Other Tools
- زیباکننده CSS
- زیباکننده HTML
- زیباکننده JavaScript
- زیباکننده PHP
- انتخابگر رنگ
- استخراجکننده اسپرایت
- دیکودر Base64
- انکودر Base64
- فرمتدهنده C#
- فرمتدهنده CSV
- Dockerfile Formatter
- فرمتدهنده Elm
- فرمتدهنده ENV
- فرمتدهنده Go
- فرمتدهنده GraphQL
- فرمتدهنده HCL
- فرمتدهنده INI
- فرمتدهنده JSON
- فرمتدهنده LaTeX
- فرمتدهنده Markdown
- فرمتدهنده Objective-C
- Php Formatter
- فرمتدهنده Proto
- فرمتدهنده Python
- فرمتدهنده Ruby
- فرمتدهنده Rust
- فرمتدهنده Scala
- فرمتدهنده اسکریپت شل
- فرمتدهنده SQL
- قالببندی SVG
- قالببندی Swift
- قالببندی TOML
- Typescript Formatter
- قالببندی XML
- قالببندی YAML
- قالببندی Yarn
- کوچککننده CSS
- Html Minifier
- Javascript Minifier
- کوچککننده XML
- نمایشگر هدرهای HTTP
- PDF به متن
- تستکننده Regex
- بررسیکننده رتبه SERP
- جستجوی Whois