فرمتدهنده و نمایشگر JSON
JSON را چسبانید و در همانجا زیباسازی میشود. برای بررسی مقدار کامل و مسیر در سمت راست روی هر فیلد کلیک کنید؛ خطاهای نحوی در خط و ستون مشخص میشوند. همه چیز به صورت محلی در مرورگر شما اجرا میشود.
- تورفتگی
- ۲ فاصله · ۴ فاصله · تب
- ابزارهای اضافی
- بررسی · مرتبسازی · آمار
- حریم خصوصی
- هیچ چیزی آپلود نمیشود
- نحوه استفاده
- رایگان · بدون نیاز به ثبت نام
چرا مهم است
ساخته شده برای هر کسی که روزانه JSON میخواند
پاسخهای API، فایلهای پیکربندی، بارهای لاگ — JSON خام به صورت یک خط متراکم میآید. آن را خوانا کنید، ویرگول خراب را پیدا کنید، سپس آن را به شکلی که نیاز دارید برگردانید.
زیباسازی و فشردهسازی
یک کلیک بین یک درخت خوانا برای انسان و یک خط واحد فشرده جابجا میشود. 2 فاصله، 4 فاصله یا یک تب را مطابق با سبک کد خود انتخاب کنید.
خطاها با خط و ستون مشخص میشوند
JSON نامعتبر موقعیت دقیق را گزارش میدهد — L12 : C34 — به جای یک پیام رمزگونه تحلیلگر، بنابراین شما مستقیماً به ویرگول گمشده یا نقل قول پایینی میروید.
مرتبسازی بازگشتی کلیدها
کلیدهای شیء را به صورت الفبایی در هر عمق مرتب کنید در حالی که آرایهها ترتیب خود را حفظ میکنند. برای مقایسه پیکربندیها و پایدارسازی نمونهها در کامیتها ایدهآل است.
فرار / بازگرداندن فرار از حروف
JSON را به یک رشته حرف فرار شده برای تعبیه در کد یا فایلهای محیطی تبدیل کنید، و یک حرف نقل شده را به JSON خام برای بازرسی باز کنید.
روی هر فیلد کلیک کنید تا آن را به طور کامل ببینید
روی یک فیلد در ویرایشگر کلیک کنید تا پنل کناری با مقدار کامل، نوع و مسیر JSON آن (شامل اشیاء و آرایههای تو در تو) باز شود، بنابراین دیگر هرگز به صورت چشمی پرانتزها را نمیشمارید.
کاملاً محلی اجرا میشود
JSON هرگز از مرورگر شما خارج نمیشود، ابزار به صورت آفلاین کار میکند و هیچ درخواستی در حالی که ورودی خالی است ارسال نمیشود.
نحوه عملکرد
فاصلهگذاری (indentation) را بین ۲ فضا، ۴ فضا و Tab تغییر دهید. برای ارسال به ماشین، آن را به یک خط فشرده کنید (minify)؛ برای ترتیب پایدار، کلیدهای اشیاء را به صورت بازگشتی مرتب کنید، یا کل بارگذاری (payload) را به یک رشته حروف فرار (escape) شده تبدیل کنید و یک رشته حروف نقل شده که از خط لگ کپی شده است را به حالت اصلی خود برگردانید.
روی هر فیلد کلیک کنید تا مقدار کامل آن را در پنل کناری بررسی کنید و با تایپ کردن، کلیدها، موارد آرایه و عمق تو در تو بهروز میشوند. چندین سند را در یک صفحه باز نگه دارید و به سرعت آنها را مقایسه کنید؛ هر سند ویرایشگر خود را دارد. همه چیز به صورت محلی در مرورگر شما اجرا میشود و چیزی آپلود نمیشود.
ابزارهای بیشتر JSON
ابزارهای شخص ثالث بر اساس هدف انتخاب شدهاند – ما در اینجا تکرار نمیکنیم، بنابراین هنگام نیاز به یکی از آنها مراجعه کنید.
| ابزار | هدف | کاری که انجام میدهد |
|---|---|---|
| JSON Editor Online | ویرایش و اعتبارسنجی | پنلهای متن و درخت مرتبط، بازساخت کشیدن و رها کردن، به علاوه مقایسه، اعتبارسنجی اسکیما و پرسوجو. |
| JSON Crack | تجسم | JSON را به یک گراف گره تعاملی برای درک تو در تو عمیق یا ساخت یک دموی سریع تبدیل میکند. |
| JSON Visio | تجسم | یک نمایشگر گراف دیگر با رابط کاربری سبکتر – هر کدام از این دو که طبیعیتر به نظر میرسد را انتخاب کنید. |
| Diffchecker | مقایسه | دو متن را به صورت جانبی یا در یک نمای یکپارچه مقایسه کنید و مستقیماً به خطوط درج شده، حذف شده یا تغییر یافته بپرید. |
| JSONPath | جستجو | عبارات JSONPath را به صورت آنلاین اجرا کنید و دقیقاً فیلدهای مورد نیاز خود را با استفاده از مسیر استخراج کنید. |
| JSONata | جستجو و تبدیل | یک زبان جستجو و تبدیل برای JSON، با یک محیط آزمایش آنلاین و مثالها. |
| quicktype | تولید نوع | تولید تعاریف نوع TypeScript, Swift, Go و دیگر موارد از JSON. |
| JSON Generator | دادههای ساختگی | تولید دادههای ساختگی ساختاریافته از الگوها — مفید برای لوازم تست API. |
جزئیات دقیق قالببندی JSON
JSON ساده به نظر میرسد اما قوانین سختگیرانهای دارد — دانستن آنها هر بار که یک پارسر (parser) بارگذاری شما را رد میکند، یک بار رفت و برگشت داده را ذخیره میکند.
چه چیزی JSON معتبر محسوب میشود؟
JSON شش نوع مقدار را تعریف میکند: شی، آرایه، رشته، عدد، بولی و null. کلیدها باید رشتههای نقل شده با دو نقل باشند؛ کامای پایینی (trailing comma) وجود ندارد و نظرات مجاز نیستند.
عناصر اضافی JavaScript مانند نقلهای تکی، undefined، NaN، Infinity و کاماهای پایینی همه در پارسر سختگیرانه شکست میخورند — که دقیقاً همان چیزی است که این ابزار علامتگذاری میکند.
تفاوت مشاهده (viewing) با قالببندی (formatting) چیست؟
قالببندی طرح متن را تغییر میدهد: فاصلهگذاری، شکست خط و فشردهسازی. مشاهده سند را دستنخورده باقی میگذارد — وقتی روی یک فیلد کلیک میکنید، مقدار کامل، نوع و مسیر JSON آن در پنل کناری ظاهر میشود.
اشیاء بسیار تو در تو فقط از طریق پرانتزها دشوار خوانا هستند، بنابراین کلیک روی یک فیلد به شما اجازه میدهد دقیقاً تأیید کنید چه چیزی در آن قرار دارد — به ویژه با پاسخهای API و بارگذاریهای لگ کاربردی است.
چرا ترتیب کلید من بعد از قالببندی تغییر میکند؟
مشخصه JSON اشیاء را به صورت جفتهای کلید-مقدار بدون ترتیب در نظر میگیرد و پردازندهها آزاد هستند تا آنها را دوباره مرتب کنند. در عمل، V8 (کروم/Node) ترتیب درج را برای کلیدهای رشتهای حفظ میکند، اما کلیدهای شبیه عدد ("1", "42") همیشه ابتدا به صورت عددی مرتب میشوند. «مرتبسازی کلیدهای شی» را فعال کنید اگر یک ترتیب پایدار و الفبایی میخواهید که در هر پردازندهای باقی بماند — برای مقایسه (diff) پیکربندیها مفید است.
عدد چقدر بزرگی میتواند در JSON نگهداری شود؟
خود JSON هیچ محدودیتی ندارد، اما جاوااسکریپت هر عدد را به صورت یک دابل IEEE-754 تحلیل میکند. اعداد صحیح فراتر از ±2^53 (حدود 9 کوادریلیون) دقت خود را از دست میدهند — 9007199254740993 به 9007199254740992 تبدیل میشود. اگر بار شما شامل شناسههای ۶۴ بیتی یا زمانسنجها بر حسب نانوثانیه است، آنها را به صورت رشته نگه دارید؛ این ابزار آنها را خراب نمیکند، اما هر چیزی که در کد JS چسبانید شود، خراب خواهد شد.
چه زمانی باید به جای زیباسازی، فشردهسازی (مینیفای) انجام دهم؟
زیباسازی (beautify) برای هر چیزی که انسان میخواند: بازبینی کد، اشکالزدایی، مستندات. فشردهسازی (minify) برای هر چیزی که ماشین انتقال میدهد: بدنههای API، پارامترهای URL، متغیرهای محیطی و فایلهای .env. فشردهسازی یک بار معمولی API، ۱۵–۳۰% بایت را بدون هیچ تغییر ساختاری ذخیره میکند — این ارزانترین فشردهسازی است که وجود دارد.
فرار کردن (escaping) برای چه استفاده میشود؟
فرار کردن JSON را به عنوان یک رشته لفظی میپیچد: نقل قولها به \" و خطوط جدید به \n تبدیل میشوند، تا بتواند درون یک مقدار JSON دیگر، یک دستور پوسته یا متغیر محیطی بدون خراب شدن قرار گیرد. رفع فرار (Unescape) آن را معکوس میکند. اگر تا به حال بار را از یک خط لاگ کپی کردهاید که شبیه {\"a\":1} بود، آن فرمت است — اینجا چسبانید و روی «رفع فرار» بزنید.
سؤالات متداول
آیا JSON من آپلود یا جایی ذخیره میشود؟
خیر. همه چیز در مرورگر شما با جاوااسکریپت اجرا میشود — هیچ درخواستی هرگز JSON شما را جایی منتقل نمیکند، آفلاین کار میکند و هیچ چیز در ذخیرهسازی محلی نوشته نمیشود، بنابراین با تازهسازی صفحه، ورودی پاک میشود.
چرا فرمتدهی در فایل پیکربندی من شکست میخورد؟
به احتمال زیاد JSON دقیق نیست: JSONC/JSON5 اجازه نظرات و ویرگولهای پایانی را میدهد، YAML بر اساس تورفتگی است و فایلهای .env جفتهای کلید=مقدار هستند. ابتدا نظرات و ویرگولهای پایانی را حذف کنید، یا از یک پردازنده ساخته شده برای آن فرمت استفاده کنید.
آیا مرتبسازی کلیدها آرایهها را هم تغییر میدهد؟
خیر، ترتیب آرایه معنادار است (آیتم اول، آیتم دوم و ...)، بنابراین آرایهها همیشه در جای خود باقی میمانند. فقط کلیدهای اشیا – از جمله اشیا درون آرایههای تو در تو – به ترتیب حروف الفبا مرتب میشوند.
معنی «Error near L12 : C34» چیست؟
این خط و ستون مبتنی بر ۱ است که تحلیلگر در آن ناتمام مانده است: خط ۱۲، ستون ۳۴. اشتباه واقعی معمولاً در یا درست قبل از آن نقطه قرار دارد – یک ویرگول گمشده در خط قبلی، نقل قول بدون فرار، یا یک ویرگول پایانی قبل از آکولاد بسته.
آیا محدودیت حجم وجود دارد؟ آیا روی موبایل کار میکند؟
هیچ محدودیت سختگیرندهای وجود ندارد – قالببندی چند مگابایت خروجی لاگ به درستی انجام میشود. در دستگاههای پایینرده، ورودیهای بسیار بزرگ (چند ده مگابایت) ممکن است به دلیل اینکه هر ضربه کلید باعث بازتحلیل و بازقالببندی میشود، کند به نظر برسند. چیدمان پاسخگو است؛ ویرایشگر با عرض صفحه سازگار میشود.