JSON به مبدل YAML
ساختار JSON را به فرمت YAML تمیز تبدیل کنید. ایده آل برای مانیفست های Kubernetes و تنظیمات ابری.
ساختار JSON را به فرمت YAML تمیز تبدیل کنید. ایده آل برای مانیفست های Kubernetes و تنظیمات ابری.
رفتن از JSON به YAML بیشتر در مورد خوانایی بیشتر داده ها برای انسان است. هر دو فرمت ساختارهای مشابهی را توصیف میکنند - اشیا/نقشهها، آرایهها/دنبالهها، اسکالرها - اما نحو مبتنی بر تورفتگی YAML، نقلقول اختیاری و پشتیبانی از نظرات اسکن و ویرایش با دست را آسانتر میکند. فایلهای پیکربندی مورد استفاده متعارف هستند: مانیفستهای Kubernetes، گردشهای کاری CI، کتابهای پخش Ansible و دهها ابزار دیگر بهطور خاص YAML را انتخاب کردند زیرا ویرایشگرهای اصلی آنها انسانها هستند.
این مبدل از js-yaml برای سریال کردن یک شی JSON تجزیه شده به YAML استفاده می کند. نتیجه ساختار داده ها را دقیقاً در حین اعمال قراردادهای YAML حفظ می کند: تورفتگی برای تودرتو، لیست ها برای آرایه ها، جفت های کلید-مقدار برای ویژگی های شی. نقل قول دوگانه سخت JSON آرام است. فقط رشته هایی حاوی کاراکترهای خاص یا شبیه به انواع دیگر در خروجی نقل قول می شوند.
تبدیل اطلاعات را حفظ می کند، مگر در مواردی که YAML بیانی را اضافه می کند که JSON نداشت. نظرات را نمی توان بازسازی کرد (JSON هیچ کدام نداشت). ارجاعات لنگر و نام مستعار به طور بالقوه می توانند ساختارهای تکراری را فشرده کنند اما به طور خودکار تولید نمی شوند. خروجی همه مراجع را به صورت درون خطی گسترش می دهد.
YAML به طور چشمگیری قابل خواندن تر از JSON برای پیکربندی ویرایش توسط انسان است. تورفتگی جایگزین تودرتو پرانتز می شود، نقل قول ها برای رشته های ساده اختیاری هستند و نظرات می توانند تنظیمات غیر واضح را مستند کنند. برای فایل هایی که انسان ها نگهداری می کنند - پیکربندی برنامه، زیرساخت به عنوان کد، ساخت خطوط لوله - YAML تقریبا همیشه فرمت مقصد مناسب است.
ابزارهای زیرساخت مدرن به شدت به نفع YAML است. Kubernetes، Helm charts، Ansible، GitHub Actions، GitLab CI، Docker Compose و بسیاری از ابزارهای دیگر YAML را ترجیح می دهند یا نیاز دارند. تبدیل صادرات JSON از یک سیستم به پیکربندی YAML برای دیگری یک مرحله یکپارچه سازی معمول است.
JSON را جایگذاری کنید، YAML را دریافت کنید.
تابع dump js-yaml درخت شی جاوا اسکریپت را طی می کند و YAML را با استفاده از قالب بندی قابل تنظیم منتشر می کند. عمق تورفتگی، عرض خط، آستانه سبک جریان، و مدیریت نقل قول همه پارامترها هستند. تنظیمات پیشفرض YAML به سبک بلوک را با تورفتگی 2 فضایی، رایجترین قرارداد، تولید میکنند.
نقل قول رشته از قوانین YAML پیروی می کند: رشته هایی که شبیه انواع دیگر هستند (اعداد، بولی، تهی، تاریخ) نقل قول می شوند تا تفسیر رشته را مجبور کنند. رشته های حاوی کاراکترهای خاص (دونقطه، هش، خط تیره) نقل قول می شوند. رشته های الفبایی ساده بدون نقل قول رها می شوند.
خروجی با YAML 1.2 سازگار است و با js-yaml، PyYAML و دیگر کتابخانه های اصلی YAML به طور تمیز تجزیه می شود. سفرهای رفت و برگشت بی قدرت (JSON → YAML → JSON) داده ها را حفظ می کند، اگرچه نمایش YAML قالب بندی متعارفی را انتخاب می کند که ممکن است با معادل دست نویس متفاوت باشد.