§

JSON مورد نظر برای قالب‌بندی، اعتبارسنجی یا فشرده‌سازی را الصاق کنید.

تجزیه، اعتبارسنجی و قالب‌بندی همه با استفاده از پارسر بومی JSON در مرورگر شما اجرا می‌شوند.
§

اعتبارسنجی

JSON را برای اعتبارسنجی الصاق یا تایپ کنید.
§

Output

text

قالب‌بندی و اعتبارسنجی JSON زیربنای تقریباً هر جریان کاری توسعه‌دهنده ایرانی است: پاسخ‌های API از سیستم‌های شاپرک، Bank Markazi (بانک مرکزی) و سرویس‌های درگاه پرداخت آنلاین اغلب به‌صورت JSON فشرده منتقل می‌شوند و باید قبل از debugging زیبا چاپ شوند. تیم‌های فناوری اطلاعات سازمانی که با سیستم‌های ERP کار می‌کنند، قالب‌های CloudFormation یا پیکربندی‌های Kubernetes JSON را به‌طور مرتب قالب‌بندی و اعتبارسنجی می‌کنند. این قالب‌بند ورودی متنی را می‌پذیرد، RFC 8259 سختگیرانه را اعتبارسنجی می‌کند و خط و ستونی که تجزیه در آن شکست می‌خورد را مشخص می‌کند — همه داخل مرورگر، بنابراین payload های اختصاصی هرگز به یک سرویس prettifier میزبان‌شده نمی‌رسند.

قالب‌بندی JSON چیست؟

JSON (نشانه‌گذاری اشیاء JavaScript) یک فرمت تبادل داده سبک مبتنی بر متن است که توسط RFC 8259 و ECMA-404 تعریف شده است. یک سند JSON درختی از شش نوع مقدار است — object، array، string، number، boolean و null. قالب‌بندی فضای خالی اضافه می‌کند تا انسان‌ها بتوانند آن درخت را بخوانند؛ فشرده‌سازی فضای خالی را حذف می‌کند تا ماشین‌ها بتوانند آن را سریع‌تر روی شبکه منتقل کنند.

قالب‌بندی JSON چگونه کار می‌کند؟

ورودی شما کاملاً در مرورگر با استفاده از توابع داخلی JSON.parse و JSON.stringify پردازش می‌شود. مراحل کلی عبارتند از:

  1. ورودی شما از textarea خوانده می‌شود و فضاهای خالی ابتدایی و انتهایی آن حذف می‌شوند.
  2. مرورگر آن را با JSON.parse تجزیه می‌کند. اگر ورودی JSON معتبر نباشد، پارسر یک SyntaxError ایجاد می‌کند که گرفته و با خط و ستونی که در آن متوقف شده نمایش داده می‌شود.
  3. وقتی ورودی معتبر است، مقدار تجزیه‌شده با JSON.stringify(value, null, indent) دوباره منتشر می‌شود، جایی که indent فاصله‌گذاری انتخابی شما است (۲ فاصله، ۴ فاصله یا یک کاراکتر tab).
  4. برای فشرده‌سازی، JSON.stringify(value) بدون آرگومان indent فراخوانی می‌شود و کوتاه‌ترین فرم معتبر همان مقدار بدون فضای خالی بی‌اهمیت تولید می‌کند.
  5. خروجی به textarea فقط خواندنی نوشته می‌شود و یک پنل وضعیت یا JSON معتبر یا خطای دقیق parse را گزارش می‌دهد تا بتوانید سورس را اصلاح کنید.

چرا JSON را با این ابزار قالب‌بندی کنیم؟

  • حریم خصوصی: هر مرحله تجزیه، قالب‌بندی و فشرده‌سازی در مرورگر شما اجرا می‌شود. JSON هرگز به سرورهای ما نمی‌رسد.
  • اعتبارسنجی فوری: کاماهای نادرست، کلیدهای بدون نقل‌قول، نقل‌قول‌های تکی و کاماهای انتهایی با یک راهنمای دقیق خط و ستون گزارش می‌شوند تا بتوانید مستقیماً به باگ بروید.
  • خروجی آماده برای بررسی: JSON چاپ‌زیبا با تورفتگی ثابت، diff های code review تمیز و فایل‌های پیکربندی خوانا تولید می‌کند.
  • فشرده‌سازی آماده برای پروداکشن: حذف فضاهای خالی بی‌اهمیت payload های API، فایل‌های manifest و fixture های تعبیه‌شده را قبل از ارسال کوچک می‌کند.

کاربردهای رایج قالب‌بندی JSON چیست؟

خواندن و نوشتن JSON در سراسر توسعه وب و ابزارسازی ظاهر می‌شود:

  • اشکال‌زدایی API: الصاق یک پاسخ خام از curl یا پنل شبکه برای تأیید شکل، پیدا کردن یک غلط تایپی در یک کلید، یا تشخیص یک آکولاد بستن گمشده.
  • پاک‌سازی تنظیمات: تورفتگی مجدد package.json، tsconfig.json یا manifest های CI که دست‌ویرایش‌شده‌اند تا بررسی و linter ها را بگذرانند.
  • خواندن لاگ‌ها: قالب‌بندی مجدد خطوط لاگ فشرده application/json تا هر فیلد زیر بعدی تراز شود، سپس دوباره قبل از الصاق در یک تیکت فشرده‌سازی.

یک مثال قالب‌بندی JSON چگونه است؟

الصاق {"id":42,"name":"Ada Lovelace","email":"ada@example.com","roles":["admin","engineer"]} و فشردن قالب‌بندی با تورفتگی ۲ فاصله آن را در نه خط گسترش می‌دهد، با هر فیلد شیء و هر ورودی آرایه در خط خودش. فشردن فشرده‌سازی روی متن قالب‌بندی‌شده آن را به همان رشته فشرده، بایت به بایت برمی‌گرداند.

این قالب‌بند JSON با همان موتوری که runtime Node.js، Deno یا مرورگر شما استفاده می‌کند تجزیه می‌کند و خروجی‌ای منتشر می‌کند که می‌توانید مستقیماً در کد، تنظیمات یا لاگ‌ها الصاق کنید.