متن 🔒 در مرورگر اجرا می‌شود — داده‌ای ارسال نمی‌شود

فرمت‌کننده JSON

JSON را فرمت، اعتبارسنجی، فشرده و به‌صورت درختی مرور کنید — فوری، در مرورگر شما.

JSON ورودی

فرمت کردن JSON آنلاین — زیباسازی، اعتبارسنجی و فشرده‌سازی رایگان

خواندن JSON برای ماشین ساده است، اما وقتی همه‌چیز در یک خط طولانی فشرده شده باشد، برای آدم‌ها آزاردهنده می‌شود. این ابزار رایگان فرمت JSON آنلاین، یک JSON فشرده، Escape‌شده یا با تورفتگی نامرتب را با یک کلیک به متنی تمیز و خوانا با تورفتگی درست تبدیل می‌کند؛ بدون ثبت‌نام، بدون آپلود فایل و بدون محدودیت حجمی که سرور تحمیل کند.

همین ابزار در هر دو جهت کار می‌کند. وقتی می‌خواهید پاسخ یک API را بخوانید، بازبینی کنید یا مستند کنید از قالب‌بندی استفاده کنید، و وقتی می‌خواهید قبل از ارسال یک فایل پیکربندی، یک Payload یا یک مقدار پایگاه داده هر فاصله و خط جدید را حذف کنید، فشرده‌سازی را بزنید. چون تحلیلگر داخل مرورگر شما اجرا می‌شود، نتیجه بلافاصله ظاهر می‌شود.

نمودار: یک شیء JSON یکسان، یک بار در یک خط (۳۵ بایت) و یک بار فرمت‌شده با تورفتگی دو فاصله (۶۱ بایت).فشرده: ۳۵ بایت{"id":7,"tags":["a","b"],"ok":true}فرمتفشرده‌سازیفرمت‌شده: ۶۱ بایت{"id": 7,"tags": ["a","b"],"ok": true}
فرمت کردن فقط فاصله اضافه می‌کند: خط جدید و تورفتگی. داده در هر دو نسخه دقیقاً یکی است؛ به همین دلیل فشرده‌سازی می‌تواند برای ارسال در شبکه دوباره آن فاصله‌ها را حذف کند، بدون اینکه معنای JSON عوض شود.

یک فرمت‌کننده JSON دقیقاً چه کار می‌کند

ابزار زیباسازی JSON متنی را که چسبانده‌اید تجزیه می‌کند، درخت اشیاء را در حافظه می‌سازد و بعد آن را با تورفتگی یکدست، ترتیب اصلی کلیدها و Escape درست دوباره می‌نویسد. همین رفت‌وبرگشت، خودش مرحله اعتبارسنجی هم هست: JSON نامعتبر اصلاً تجزیه نمی‌شود، پس ابزار به‌جای تولید خروجی خراب، خطا را گزارش می‌کند. بنابراین هر بار که فرمت می‌کنید، در عمل یک بررسی صحت JSON هم انجام داده‌اید.

روش فرمت کردن JSON به‌صورت آنلاین

  1. JSON خود را در کادر ورودی بچسبانید یا مستقیم تایپ کنید.
  2. نوع تورفتگی را انتخاب کنید: ۲ فاصله، ۴ فاصله یا Tab. دو فاصله در پروژه‌های JavaScript و TypeScript پیش‌فرض است و چهار فاصله بیشتر در Python و Java دیده می‌شود.
  3. برای زیباسازی روی قالب‌بندی و برای فشرده کردن همان داده در یک خط روی فشرده‌سازی بزنید.
  4. نتیجه را در کادر خروجی ببینید و با دکمه کپی آن را در حافظه موقت کپی کنید.
  5. خروجی را روی درخت بگذارید تا JSON را به‌صورت درخت تاشو ببینید؛ مقدارها بر اساس نوعشان رنگ می‌گیرند و هر شیء یا آرایه را می‌توان با باز کردن همه و بستن همه باز یا جمع کرد.

فرمت کنم یا فشرده؟

کاری که انجام می‌دهیدگزینه مناسب
خواندن پاسخ یک API یا یک سطر لاگقالب‌بندی
ثبت فایل پیکربندی در Git تا تفاوت‌ها خوانا بماندقالب‌بندی
کاهش حجم داده پیش از ارسال روی شبکهفشرده‌سازی
ذخیره JSON در یک متغیر محیطی یا یک ستون پایگاه دادهفشرده‌سازی

خطاهایی که این اعتبارسنج پیدا می‌کند

  • کامای اضافی بعد از آخرین عضو آرایه یا شیء — در JavaScript مجاز، در JSON غیرمجاز.
  • استفاده از تک‌کوتیشن برای کلید یا مقدار؛ JSON فقط دابل‌کوتیشن را می‌پذیرد.
  • کلیدهای بدون کوتیشن که مستقیم از یک آبجکت JavaScript کپی شده‌اند.
  • خط جدید، Tab یا Backslash بدون Escape داخل مقدار رشته‌ای.
  • کامنت — JSON اصلاً کامنت ندارد، بنابراین // و /* */ تجزیه را خراب می‌کنند.
  • داده ناقص که آکولاد یا براکت بسته آن جا افتاده است.

چه کسانی هر روز به نمایشگر JSON نیاز دارند

  • برنامه‌نویسان بک‌اند و فرانت‌اند که هنگام رفع اشکال پاسخ‌های REST یا GraphQL را بررسی می‌کنند.
  • کارشناسان تست که خروجی مورد انتظار را با خروجی واقعی در گزارش تست مقایسه می‌کنند.
  • تیم‌های DevOps که package.json، tsconfig.json، composer.json یا فایل‌های Kubernetes را ویرایش می‌کنند.
  • تحلیلگران داده که خروجی ابزارهای آنالیتیکس یا لاگ Webhook را می‌خوانند.
  • نویسندگان مستندات فنی که نمونه پاسخ را در مستندات API قرار می‌دهند.

آیا چسباندن JSON در این صفحه امن است؟

بله. هیچ چیزی از این صفحه بیرون نمی‌رود. این ابزار فقط JavaScript ساده‌ای است که در تب مرورگر خودتان اجرا می‌شود، بنابراین توکن‌های دسترسی، اطلاعات مشتریان و پاسخ‌های داخلی API هرگز آپلود، ثبت یا روی سرور ذخیره نمی‌شوند. وقتی داده‌ای که اشکال‌زدایی می‌کنید شامل اطلاعات شخصی یا رمز عبور است این موضوع اهمیت زیادی دارد، و در ضمن یعنی حتی بعد از قطع اینترنت هم ابزار کار می‌کند.

نکته‌هایی برای فایل‌های JSON بزرگ یا دردسرساز

  • اگر متن از فایل لاگ آمده، ابتدا زمان و سطح لاگ را حذف کنید؛ متن باید با { یا [ شروع شود.
  • قالب NDJSON (هر خط یک شیء) یک سند JSON واحد نیست؛ خط به خط فرمت کنید.
  • بعضی APIها پیش از آکولاد اول یک پیشوند ضدسرقت اضافه می‌کنند که باید قبل از تجزیه حذف شود.
  • سندهای خیلی بزرگ کند رندر می‌شوند؛ اول فشرده‌سازی کنید و بعد فقط بخش مورد نظر را قالب‌بندی کنید.
  • عددهای بزرگ‌تر از ۲ به توان ۵۳ در JavaScript دقت خود را از دست می‌دهند؛ اگر دقت مهم است آنها را رشته نگه دارید.

فرمت JSON در VS Code، Notepad++ یا خط فرمان

کجاچطور
VS Codeفایل را باز کنید و Shift+Alt+F بزنید (Format Document)؛ تورفتگی از Editor: Tab Size پیروی می‌کند
Notepad++افزونه JSTool را از Plugins Admin نصب کنید، سپس Plugins، JSTool، JSFormat
خط فرمانpython -m json.tool input.json، یا اگر jq نصب است jq . input.json
JavaScriptJSON.stringify(obj, null, 2) برای فرمت زیبا، JSON.stringify(obj) برای فشرده‌سازی
Pythonjson.dumps(obj, indent=2, ensure_ascii=False)
PHPjson_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE)

ابزار آنلاین وقتی برنده است که JSON همین حالا در کلیپ‌بورد شماست، پشت دستگاهی هستید که ویرایشگرتان روی آن تنظیم نشده، یا می‌خواهید با نمای درختی یک کلید را داخل یک پاسخ بزرگ پیدا کنید.

ابزارهای مرتبط

کار با داده‌های API معمولاً فقط یک قالب نیست. توکن‌ها را با رمزگشای JWT بخوانید، مقدارهای Escape‌شده را با کدگذار و کدگشای URL تبدیل کنید، داده‌های باینری جاسازی‌شده را با کدگذار Base64 مدیریت کنید و صحت داده را با سازنده هش بسنجید. برای ساختن تایپ‌های TypeScript، Go یا Python از روی یک نمونهٔ JSON، از تبدیل JSON به تایپ استفاده کنید؛ راهنمای تایپ کردن پاسخ API در TypeScript کل این روند را نشان می‌دهد.

آموزش‌های مرتبط