ToolDeck

فرمت‌بندی و زیباسازی JSON

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

یک مثال امتحان کنید

ورودی

خروجی

به‌صورت محلی اجرا می‌شود · جای‌گذاری اسرار امن است

آخرین به‌روزرسانی: ۱۴۰۴ اسفند

فرمت‌بندی JSON چیست؟

JSON (نشانه‌گذاری شیء جاوااسکریپت) یک فرمت متنی سبک برای داده‌های ساختاریافته است که بر اساس مشخصات JSON (RFC 8259) تعریف شده و در تقریباً تمام API‌های مدرن، فایل‌های پیکربندی و خطوط لوله داده استفاده می‌شود. یک فرمت‌بندی JSON آنلاین — که به آن JSON beautifier هم گفته می‌شود — JSON خام یا فشرده را دریافت کرده و متن تمیز و ساختاریافته با تورفتگی یکسان، شکست خط و هایلایت سینتکس تولید می‌کند. مهم‌تر از همه، ورودی را هنگام تجزیه نیز اعتبارسنجی می‌کند: براکت‌های باز، کاماهای نابجا، کلیدهای بدون کوتیشن و سایر تخلفات سینتکس بلافاصله نمایش می‌یابند، پیش از آنکه بتوانند خطای اجرایی ایجاد کنند. این نقش دوگانه — فرمت‌بندی و اعتبارسنجی — فرمت‌بندی JSON را به ابزاری ضروری در جریان کار روزانه هر توسعه‌دهنده تبدیل کرده است.

خواندن مشخصات JSON ←

After · json
Before · json
{
  "user": "alice",
  "role": "admin",
  "permissions": [
    "read",
    "write",
    "delete"
  ],
  "meta": {
    "created": 1717200000,
    "verified": true
  }
}
{"user":"alice","role":"admin","permissions":["read","write","delete"],"meta":{"created":1717200000,"verified":true}}

چرا باید JSON خود را فرمت کنید؟

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

🎨
هایلایت سینتکس
کلیدها، رشته‌ها، اعداد، مقادیر بولی و null با رنگ‌بندی کدشده به شما امکان می‌دهند بلافاصله انواع داده را از هم تشخیص داده و ناهماهنگی‌ها را بدون خواندن هر کاراکتر شناسایی کنید.
تشخیص فوری خطا
فرمت‌بندی JSON را پیش از رندر کردن تجزیه می‌کند. هر خطای سینتکس — کامای گم‌شده، براکت باز یا کلید بدون کوتیشن — بلافاصله با پیامی روشن نمایش می‌یابد.
↔️
فرمت‌بندی و فشرده‌سازی در یک ابزار
بین خروجی زیباشده و فشرده جابجا شوید بدون اینکه ابزار عوض کنید. هنگام آماده‌سازی JSON برای بررسی انسانی و استقرار تولیدی مفید است.
🔒
کاملاً سمت کلاینت
JSON شما هرگز مرورگرتان را ترک نمی‌کند. تمام تجزیه و رندرینگ به صورت محلی انجام می‌شود و payloadهای حساس، توکن‌ها و اعتبارنامه‌ها خصوصی باقی می‌مانند.

نحوه استفاده از این فرمت‌بندی JSON آنلاین

فرمت‌بندی برای یک جریان کار بدون اصطکاک ساخته شده است. بدون حساب کاربری، بدون آپلود، بدون پیکربندی — فقط paste کنید و فرمت کنید.

  1. 1
    JSON خود را Paste کنید
    روی ویرایشگر سمت چپ کلیک کنید و هر مقدار JSON را paste کنید — شیء، آرایه، رشته، عدد، بولی یا null. فرمت‌بندی JSON تک‌خطی فشرده، JSON نیمه‌فرمت‌شده یا هر ساختار سینتکساً معتبری را می‌پذیرد.
  2. 2
    اعتبارسنجی فوری
    تجزیه‌کننده به محض تشخیص ورودی اجرا می‌شود. اگر JSON معتبر باشد، خروجی ساختاریافته بلافاصله در سمت راست ظاهر می‌شود. اگر خطای سینتکس وجود داشته باشد، پیام مشکل دقیق را مشخص می‌کند — کامای گم‌شده، براکت باز یا نوع مقدار نامعتبر.
  3. 3
    کپی یا فشرده‌سازی
    روی Copy کلیک کنید تا خروجی فرمت‌شده به clipboard شما ارسال شود. روی Minify کلیک کنید تا تمام فضای خالی حذف و JSON به یک خط فشرده شود — مفید برای payloadهای تولیدی، درخواست‌های API و ذخیره‌سازی که تعداد بایت‌ها اهمیت دارد.
  4. 4
    ویرایش و تکرار
    ورودی را مستقیماً ویرایش کنید و خروجی در زمان واقعی به‌روز می‌شود. از فرمت‌بندی به عنوان یک دفترچه زنده استفاده کنید در حالی که بدنه‌های درخواست API را می‌سازید، ساختارهای فایل پیکربندی را طراحی می‌کنید یا data schemaها را بررسی می‌کنید.

قوانین سینتکس JSON

JSON مشخصات سختگیرانه‌ای دارد که هیچ جایی برای تفسیر باقی نمی‌گذارد. این شش قانون بیشترین خطاهای سینتکس را در توسعه واقعی ایجاد می‌کنند:

رشته‌ها باید از کوتیشن دوتایی استفاده کنند
رشته‌های با کوتیشن تکی JSON معتبر نیستند. هر رشته — هم کلیدها و هم مقادیر — باید در کوتیشن دوتایی محاط شود.
"key": "value"
بدون کامای انتهایی
کامای بعد از آخرین آیتم در یک شیء یا آرایه خطای سینتکس است. این رایج‌ترین اشتباه هنگام ویرایش دستی JSON است.
{ "a": 1, "b": 2 }
بدون کامنت
JSON استاندارد از کامنت‌های // یا /* */ پشتیبانی نمی‌کند. اگر در فایل‌های پیکربندی به کامنت نیاز دارید، از JSONC یا JSON5 استفاده کنید و قبل از استفاده در تولید تبدیل کنید.
{ "debug": false }
اعداد صحیح بزرگ دقت را از دست می‌دهند
JavaScript فقط می‌تواند اعداد صحیح تا 2^53 − 1 را به صورت ایمن نمایش دهد. برای شناسه‌ها و تایم‌استمپ‌های فراتر از این محدودیت، آن‌ها را به صورت رشته ذخیره کنید تا از خرابی ساکت داده جلوگیری شود.
{ "id": "9007199254740993" }
کاراکترهای کنترلی در رشته‌ها را escape کنید
کاراکترهای tab خام، خط جدید و carriage-return در داخل رشته‌های JSON مجاز نیستند. از دنباله‌های escape استفاده کنید — \n برای خط جدید، \t برای tab. فرمت‌بندی هر کاراکتر کنترلی escape نشده را به عنوان خطای سینتکس علامت‌گذاری می‌کند.
{"text": "Hello\nWorld\tindented"}
NaN و Infinity معتبر نیستند
JavaScript مقادیر NaN و Infinity را به عنوان مقادیر عددی مجاز می‌داند، اما مشخصات JSON فقط اعداد محدود را مجاز می‌داند. اگر serializer شما NaN یا Infinity تولید می‌کند، قبل از تجزیه آن‌ها را با null جایگزین کنید.
{"score": null}

موارد استفاده رایج

اعتبارسنجی Payloadهای API
یک پاسخ خام API را paste کنید تا ساختار JSON را اعتبارسنجی کرده و payload را بررسی کنید. فیلدهای الزامی گم‌شده، نوع‌های غیرمنتظره و مقادیر ناقص را قبل از اینکه به صورت خطای اجرایی در کد برنامه‌تان ظاهر شوند شناسایی کنید.
اعتبارسنجی پیش از commit
قبل از commit کردن یک فایل پیکربندی، package.json یا API schema به کنترل نسخه، آن را در فرمت‌بندی paste کنید. یک پاس اعتبارسنجی واحد کاماهای انتهایی، براکت‌های گم‌شده و سایر خطاهای سینتکس که برنامه را هنگام راه‌اندازی خراب می‌کنند شناسایی می‌کند.
اشکال‌زدایی سریال‌سازی
وقتی یک شیء سریال‌شده درست به نظر نمی‌رسد، فرمت‌بندی آن خطاهای نوع، فیلدهای گم‌شده و تودرتویی غیرمنتظره ناشی از منطق سریال‌سازی را آشکار می‌کند. سلسله‌مراتب بصری مشکلات ساختاری را در نگاه اول آشکار می‌سازد.
تشخیص خطا
وقتی JSON شما خطای parse ایجاد می‌کند و نمی‌دانید چرا، فرمت‌بندی بلافاصله مشکل را مشخص می‌کند — براکت باز، کامای گم‌شده، کوتیشن اضافی یا نوع مقداری که مشخصات آن را مجاز نمی‌داند.
طراحی Schema
در حین طراحی، با فرمت‌بندی payloadهای نمونه روی شکل‌های داده JSON تکرار کنید. سلسله‌مراتب بصری شناسایی تودرتویی‌های اضافی، فیلدهای الزامی گم‌شده و نام‌گذاری ناسازگار را قبل از اینکه در قرارداد API ثابت شوند آسان می‌کند.
آزمایش و Fixtureها
فایل‌های fixture آزمایشی را فرمت‌بندی نگه دارید تا diffهای کنترل نسخه معنادار بمانند. وقتی مقدار یک فیلد تغییر می‌کند، diff دقیقاً یک خط تغییریافته نشان می‌دهد — نه یک diff تک‌خطی که تمام payload فشرده را در برمی‌گیرد.

فرمت‌بندی JSON آنلاین در برابر سایر ابزارها

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

کاملاً خصوصی — پردازش فقط در مرورگر
اکثر ابزارهای JSON آنلاین ورودی شما را به یک سرور راه دور ارسال می‌کنند. این فرمت‌بندی JSON آنلاین کاملاً در مرورگر اجرا می‌شود — هیچ چیزی منتقل نمی‌شود. paste کردن اعتبارنامه‌های تولیدی، خروجی پایگاه داده، توکن‌های احراز هویت و هر داده‌ای که الزامات محرمانگی دارد ایمن است.
بدون حساب کاربری، بدون تبلیغات، بدون اصطکاک
ابزار را باز کنید و شروع به فرمت‌بندی کنید. بدون ثبت‌نام، بدون تأیید ایمیل، بدون هیچ مانعی بین شما و JSON. فرمت‌بندی بلافاصله در دسترس است و پس از بارگذاری صفحه به صورت آفلاین کار می‌کند.
فرمت‌بندی و فشرده‌سازی در یک ابزار
بسیاری از فرمت‌بندی‌های JSON فقط pretty-print می‌کنند. این ابزار یک toggle Minify دارد تا بتوانید با یک کلیک از JSON قابل‌خواندن به JSON فشرده سوئیچ کنید — هر دو طرف جریان کار توسعه تا تولید را بدون تعویض tab پوشش می‌دهد.

سوالات متداول

تفاوت فرمت‌بندی و اعتبارسنجی چیست؟
یک validator فقط بررسی می‌کند که آیا JSON از نظر سینتکس معتبر است یا نه و بله یا خیر می‌گوید. یک فرمت‌بندی این کار را انجام می‌دهد و علاوه بر آن نتیجه را به شکلی ساختاریافته و قابل خواندن توسط انسان نمایش می‌دهد. فرمت‌بندی ما خطاها را دقیقاً مانند یک validator گزارش می‌دهد.
آیا فرمت‌بندی داده‌ها را تغییر می‌دهد؟
هیچ داده‌ای تغییر نمی‌کند — اما فرمت‌بندی JSON را پیش از رندر کردن تجزیه می‌کند. اگر خطاهای سینتکس وجود داشته باشد، بلافاصله نمایش می‌یابند. این چیزی است که فرمت‌بندی را فراتر از خوانایی مفید می‌کند: یک پاس اعتبارسنجی سریع نیز هست.
آیا فرمت‌بندی از JSON5 یا JSONC پشتیبانی می‌کند؟
خیر — این فرمت‌بندی در برابر مشخصات استاندارد JSON (RFC 8259) اعتبارسنجی می‌کند. JSON5 و JSONC کامنت و کامای انتهایی را مجاز می‌دانند که در JSON استاندارد معتبر نیستند. اگر فایل شما از این فرمت‌ها استفاده می‌کند، سینتکس غیراستاندارد را قبل از paste کردن حذف کنید.
JSON من معتبر است اما فرمت‌بندی خطا نشان می‌دهد — چرا؟
محتمل‌ترین دلایل عبارتند از: کامای انتهایی بعد از آخرین جفت کلید-مقدار، رشته با کوتیشن تکی یا کامنت JavaScript (// یا /* */). اینها در JS معتبرند اما در JSON استاندارد نیستند.
آیا می‌توانم فایل‌های JSON خیلی بزرگ را فرمت کنم؟
بله — از آنجا که همه چیز در مرورگر شما اجرا می‌شود محدودیتی از طرف سرور وجود ندارد. فایل‌های بسیار بزرگ (10MB+) ممکن است با هایلایت سینتکس کند رندر شوند، اما خود فرمت‌بندی کامل می‌شود.
آیا paste کردن داده‌های حساس در این فرمت‌بندی امن است؟
بله. این فرمت‌بندی JSON آنلاین همه چیز را به صورت محلی در مرورگر شما پردازش می‌کند — هیچ داده‌ای به هیچ سروری ارسال نمی‌شود. paste کردن API keyها، access tokenها، نتایج کوئری پایگاه داده و هر payload JSON حساس دیگری ایمن است.
آیا می‌توانم با این ابزار JSON را فشرده هم کنم؟
بله — فرمت‌بندی یک حالت Minify دارد. روی دکمه Minify کلیک کنید تا تمام فضای خالی حذف شود و JSON فشرده تک‌خطی تولید شود. این برای آماده‌سازی payloadها برای API‌های تولیدی، انتقال داده موبایل یا هر زمینه‌ای که اندازه بایت اهمیت دارد مفید است.