مبدل تنظیمات TOML به JSON
تبدیل فایلهای پیکربندی TOML به فرمت JSON، تنظیمات ویژگیهای کاربرپسند را به یک شیء دادهای دقیق ترجمه میکند که برنامههای وب میتوانند فوراً آن را تجزیه کنند.
مقایسه فرمتها و مشخصات فنی
| مشخصات | TOML | JSON |
|---|---|---|
| نوع MIME | application/toml | application/json |
| نوع | minimal configuration file | structured data object |
| فشردهسازی | none (UTF-8 text) | none (text stream) |
| مشخصات استاندارد | TOML v1.0.0 Specification | IETF RFC 8259 / ECMA-404 |
| هدر بایتهای جادویی | [section] key = "value" | 7B (\{) or 5B (\[) JSON root delimiter |
نمای کلی فرمت و کاربردها
TOML و JSON هر دو برای ذخیره تنظیمات استفاده میشوند، اما بخشهای مختلفی از یک پروژه نرمافزاری را پوشش میدهند. توسعهدهندگان اغلب فایلهای پیکربندی را در TOML مینویسند زیرا از توضیحات پشتیبانی میکند و تایپ دستی آن طبیعی به نظر میرسد. با این حال، مرورگرهای وب و بسیاری از کتابخانههای برنامهنویسی JSON را ترجیح میدهند زیرا به عنوان یک استاندارد جهانی برای تبادل داده عمل میکند. هنگامی که یک ابزار ساخت یا خط لوله استقرار نیاز به خواندن تنظیمات محلی دارد، تبدیل TOML به JSON این فاصله را پر میکند. برای مثال، سازندگان مدرن سایتهای ایستا اغلب ورودیهای TOML را برای ترجیحات کاربر میپذیرند، اما برای ارسال داده به فرانتاندهای جاوا اسکریپت به خروجیهای JSON نیاز دارند. تغییر ساختار فایل به اسکریپتهای خودکار اجازه میدهد مقادیر پیکربندی را بدون نیاز به یک تجزیهکننده اختصاصی TOML مصرف کنند.
مشخصات فنی و تحلیل کدک
عبارت TOML مخفف Tom's Obvious, Minimal Language است و با نوع MIME با مقدار application/toml تعیین میشود. این فرمت از متن ساده UTF-8 با جفتهای کلید-مقدار، بخشها و انواع تاریخ بومی استفاده میکند. عبارت JSON مخفف JavaScript Object Notation است و با نوع MIME با مقدار application/json تعیین میشود. هیچکدام از فرمتها به طور پیشفرض از فشردهسازی استفاده نمیکنند، به این معنی که هر دو جریان متنی خام هستند. نه TOML و نه JSON به هدرهای بایت جادویی متکی نیستند. در عوض، آنها به نشانگرهای ساختاری، مانند آکولادها در JSON یا هدرهای درون براکت در TOML، برای اعلام فرمت خود به تجزیهکنندهها وابستهاند. فرآیند تبدیل، سلسلهمراتب کلید-مقدار TOML را میخواند و آن را مستقیماً به شیءها و آرایههای استاندارد JSON نگاشت میکند.
سازگاری با سیستمعامل و مرورگر
فایلهای TOML و JSON هر دو متن خالص هستند و این امر آنها را با هر سیستمعامل مدرنی از جمله ویندوز، مکاوس، لینوکس، iOS و اندروید کاملاً سازگار میکند. مرورگرهای وب میتوانند رشتههای JSON را به صورت بومی با استفاده از روشهای داخلی جاوا اسکریپت تجزیه کنند، در حالی که TOML برای تجزیه در محیطهای مرورگر به کتابخانههای اسکریپت خارجی نیاز دارد. ویرایشگرهای متن و ابزارهای خط فرمان در تمامی پلتفرمها هر دو نوع فایل را به راحتی مدیریت میکنند.
💡 اطلاعات مفید
به خاطر داشته باشید که TOML با استفاده از علامت هشتگ (#) از توضیحات پشتیبانی میکند، در حالی که JSON استاندارد اصلاً از توضیحات پشتیبانی نمیکند. هر گونه توضیحی که در فایل منبع TOML شما وجود داشته باشد در طول تبدیل به JSON حذف خواهد شد.
مقایسه فرمتها و مشخصات فنی
یک فایل تنظیمات برنامه استاندارد ۱۰ کیلوبایتی فورا تبدیل میشود. روی اتصال تلفن همراه 4G با میانگین ۳۰ مگابیت بر ثانیه، انتقال کمتر از ۱ میلیثانیه طول میکشد. روی شبکه 5G با سرعت ۱۵۰ مگابیت بر ثانیه یا اتصال فیبر ۱ گیگابیتی، انتقال به همین شکل آنی است.
پرسشهای متداول
چگونه تنظیمات TOML را بدون افت کیفیت به تنظیمات JSON تبدیل کنیم؟
این تبدیل کاملاً بدون افت کیفیت است زیرا هر دو فرمت دادههای پیکربندی مبتنی بر متن را نشان میدهند. هیچ فشردهسازی دادهای رخ نمیدهد، بنابراین تمام کلیدها، رشتهها، اعداد و مقادیر بولین مستقیماً بدون کاهش دقت به ساختار جدید منتقل میشوند.
تفاوت بین تنظیمات TOML و تنظیمات JSON چیست؟
TOML برای خوانایی انسان طراحی شده است و شامل ویژگیهایی مانند پشتیبانی از توضیحات و انواع تاریخ بومی است. JSON برای تجزیه ماشینی و انتقال وب طراحی شده است و از ساختار دقیقی از آکولادهای تو در تو و کلیدهای نقلقول شده دوتایی بدون اجازه دادن به توضیحات استفاده میکند.