قالببندی JSON چیست؟
JSON (نشانهگذاری اشیاء JavaScript) یک فرمت تبادل داده سبک مبتنی بر متن است که توسط RFC 8259 و ECMA-404 تعریف شده است. یک سند JSON درختی از شش نوع مقدار است — object، array، string، number، boolean و null. قالببندی فضای خالی اضافه میکند تا انسانها بتوانند آن درخت را بخوانند؛ فشردهسازی فضای خالی را حذف میکند تا ماشینها بتوانند آن را سریعتر روی شبکه منتقل کنند.
قالببندی JSON چگونه کار میکند؟
ورودی شما کاملاً در مرورگر با استفاده از توابع داخلی JSON.parse و JSON.stringify پردازش میشود. مراحل کلی عبارتند از:
- ورودی شما از textarea خوانده میشود و فضاهای خالی ابتدایی و انتهایی آن حذف میشوند.
- مرورگر آن را با
JSON.parseتجزیه میکند. اگر ورودی JSON معتبر نباشد، پارسر یکSyntaxErrorایجاد میکند که گرفته و با خط و ستونی که در آن متوقف شده نمایش داده میشود. - وقتی ورودی معتبر است، مقدار تجزیهشده با
JSON.stringify(value, null, indent)دوباره منتشر میشود، جایی کهindentفاصلهگذاری انتخابی شما است (۲ فاصله، ۴ فاصله یا یک کاراکتر tab). - برای فشردهسازی،
JSON.stringify(value)بدون آرگومان indent فراخوانی میشود و کوتاهترین فرم معتبر همان مقدار بدون فضای خالی بیاهمیت تولید میکند. - خروجی به 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 یا مرورگر شما استفاده میکند تجزیه میکند و خروجیای منتشر میکند که میتوانید مستقیماً در کد، تنظیمات یا لاگها الصاق کنید.