مبدل رایگان

JSON به مبدل YAML

ساختار JSON را به فرمت YAML تمیز تبدیل کنید. ایده آل برای مانیفست های Kubernetes و تنظیمات ابری.

یا

درباره این ابزار

رفتن از JSON به YAML بیشتر در مورد خوانایی بیشتر داده ها برای انسان است. هر دو فرمت ساختارهای مشابهی را توصیف می‌کنند - اشیا/نقشه‌ها، آرایه‌ها/دنباله‌ها، اسکالرها - اما نحو مبتنی بر تورفتگی YAML، نقل‌قول اختیاری و پشتیبانی از نظرات اسکن و ویرایش با دست را آسان‌تر می‌کند. فایل‌های پیکربندی مورد استفاده متعارف هستند: مانیفست‌های Kubernetes، گردش‌های کاری CI، کتاب‌های پخش Ansible و ده‌ها ابزار دیگر به‌طور خاص YAML را انتخاب کردند زیرا ویرایشگرهای اصلی آن‌ها انسان‌ها هستند.

این مبدل از js-yaml برای سریال کردن یک شی JSON تجزیه شده به YAML استفاده می کند. نتیجه ساختار داده ها را دقیقاً در حین اعمال قراردادهای YAML حفظ می کند: تورفتگی برای تودرتو، لیست ها برای آرایه ها، جفت های کلید-مقدار برای ویژگی های شی. نقل قول دوگانه سخت JSON آرام است. فقط رشته هایی حاوی کاراکترهای خاص یا شبیه به انواع دیگر در خروجی نقل قول می شوند.

تبدیل اطلاعات را حفظ می کند، مگر در مواردی که YAML بیانی را اضافه می کند که JSON نداشت. نظرات را نمی توان بازسازی کرد (JSON هیچ کدام نداشت). ارجاعات لنگر و نام مستعار به طور بالقوه می توانند ساختارهای تکراری را فشرده کنند اما به طور خودکار تولید نمی شوند. خروجی همه مراجع را به صورت درون خطی گسترش می دهد.

چرا JSON را به YAML تبدیل کنیم؟

YAML به طور چشمگیری قابل خواندن تر از JSON برای پیکربندی ویرایش توسط انسان است. تورفتگی جایگزین تودرتو پرانتز می شود، نقل قول ها برای رشته های ساده اختیاری هستند و نظرات می توانند تنظیمات غیر واضح را مستند کنند. برای فایل هایی که انسان ها نگهداری می کنند - پیکربندی برنامه، زیرساخت به عنوان کد، ساخت خطوط لوله - YAML تقریبا همیشه فرمت مقصد مناسب است.

ابزارهای زیرساخت مدرن به شدت به نفع YAML است. Kubernetes، Helm charts، Ansible، GitHub Actions، GitLab CI، Docker Compose و بسیاری از ابزارهای دیگر YAML را ترجیح می دهند یا نیاز دارند. تبدیل صادرات JSON از یک سیستم به پیکربندی YAML برای دیگری یک مرحله یکپارچه سازی معمول است.

نحوه استفاده

JSON را جای‌گذاری کنید، YAML را دریافت کنید.

  1. JSON خود را اضافه کنید: متن JSON را جایگذاری کنید یا یک فایل را رها کنید. ورودی باید JSON معتبر باشد. مبدل تلاشی برای تجزیه ورودی JSON مانندی که مشخصات را نقض می کند، انجام نمی دهد.
  2. گزینه ها را انتخاب کنید: اندازه تورفتگی به طور پیش فرض روی 2 فاصله است، رایج ترین قرارداد YAML. سبک جریان (مانند JSON فشرده) در مقابل سبک بلوک (مبتنی بر تورفتگی) ظاهر خروجی را تغییر می‌دهد - بلوک پیش‌فرض برای انسان است.
  3. تبدیل کنید: تابع dump js-yaml درخت JSON تجزیه شده را به YAML سریال می کند. نقل قول رشته فقط در صورت لزوم اعمال می شود. رشته های پیچیده قابل خواندن باقی می مانند.
  4. دانلود یا کپی کنید: به عنوان yml. ذخیره کنید یا در کلیپ بورد کپی کنید. خروجی معتبر YAML 1.2 آماده برای هر مصرف کننده YAML است.

موارد استفاده رایج

جزئیات فنی

تابع dump js-yaml درخت شی جاوا اسکریپت را طی می کند و YAML را با استفاده از قالب بندی قابل تنظیم منتشر می کند. عمق تورفتگی، عرض خط، آستانه سبک جریان، و مدیریت نقل قول همه پارامترها هستند. تنظیمات پیش‌فرض YAML به سبک بلوک را با تورفتگی 2 فضایی، رایج‌ترین قرارداد، تولید می‌کنند.

نقل قول رشته از قوانین YAML پیروی می کند: رشته هایی که شبیه انواع دیگر هستند (اعداد، بولی، تهی، تاریخ) نقل قول می شوند تا تفسیر رشته را مجبور کنند. رشته های حاوی کاراکترهای خاص (دونقطه، هش، خط تیره) نقل قول می شوند. رشته های الفبایی ساده بدون نقل قول رها می شوند.

خروجی با YAML 1.2 سازگار است و با js-yaml، PyYAML و دیگر کتابخانه های اصلی YAML به طور تمیز تجزیه می شود. سفرهای رفت و برگشت بی قدرت (JSON → YAML → JSON) داده ها را حفظ می کند، اگرچه نمایش YAML قالب بندی متعارفی را انتخاب می کند که ممکن است با معادل دست نویس متفاوت باشد.

بهترین شیوه ها

سوالات متداول

آیا تبدیل JSON به YAML محتوا را تغییر می دهد؟
محتوا تا حد امکان دقیق حفظ می شود. با این حال، برخی از ویژگی های خاص قالب ممکن است معادل مستقیم نداشته باشند، بنابراین تفاوت های قالب بندی جزئی ممکن است رخ دهد.
چرا از فرمت YAML استفاده کنیم؟
YAML برای فایل های پیکربندی محبوب است زیرا با حداقل نحو بسیار خوانا است. این استاندارد برای Docker Compose، Kubernetes، GitHub Actions و بسیاری از ابزارهای CI/CD است.
آیا مبدل ساختارهای JSON تودرتو یا پیچیده را مدیریت می کند؟
بله. این ابزار به درستی اشیاء تودرتو، آرایه ها و همه انواع داده های استاندارد JSON را تجزیه می کند و ساختار کامل داده را در خروجی YAML حفظ می کند.
آیا این تبدیل امن و خصوصی است؟
بله. تمام پردازش ها به صورت محلی در مرورگر شما انجام می شود. داده‌های شما هرگز از دستگاه شما خارج نمی‌شوند - بدون آپلود سرور، بدون پردازش ابری، بدون جمع‌آوری داده‌ها.
رشته هایی با کاراکترهای خاص چطور؟
js-yaml آنها را به صورت خودکار نقل قول می کند. رشته های حاوی دو نقطه، هش یا خط تیره در گیومه پیچیده می شوند تا YAML به خوبی شکل بگیرد.
آیا داده های من روی سرور آپلود می شود؟
نه. تبدیل در مرورگر شما با استفاده از js-yaml اجرا می شود.
آیا می توانم JSON رفت و برگشت به YAML و برگردم؟
بله. JSON → YAML → JSON داده ها را به صورت ساختاری حفظ می کند. ترتیب کلید JSON تبدیل شده با ورودی مطابقت دارد.
حداکثر اندازه ورودی چقدر است؟
تا 50 مگابایت js-yaml فایل های پیکربندی معمولی را فورا مدیریت می کند.