مبدل رایگان

YAML به مبدل JSON

تبدیل سریع و ایمن YAML به JSON. ایده آل برای فایل های پیکربندی و تجزیه و تحلیل داده ها.

یا

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

YAML و JSON فرمت های نزدیک به هم هستند - JSON از نظر فنی زیرمجموعه ای دقیق از YAML 1.2 است - و تبدیل بین آنها معمولاً ساده است. YAML ویژگی‌های انسان دوستانه‌ای را اضافه می‌کند که JSON فاقد آن است: نظرات، رشته‌های چند خطی بدون فرار، لنگر و ارجاعات مستعار، نقل‌قول‌های انعطاف‌پذیرتر، و ساختار مبتنی بر تورفتگی که شبیه طرح‌بندی سند طبیعی است. این امر YAML را به گزینه محبوب برای فایل‌های پیکربندی تبدیل می‌کند (مانیفست‌های Kubernetes، گردش‌های کاری GitHub Actions، Docker Compose) در حالی که JSON بر بارهای API غالب است.

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

این مبدل YAML را با استفاده از js-yaml، پرکاربردترین کتابخانه YAML در جاوا اسکریپت، تجزیه می کند. خروجی با استفاده از JSON.stringify با تورفتگی اختیاری ایجاد می شود. این تبدیل تمام نحو استاندارد YAML 1.2 از جمله سبک جریان، سبک بلوک، اسکالرها، دنباله‌ها، نگاشت‌ها، لنگرها، نام‌های مستعار و انواع برچسب استاندارد را مدیریت می‌کند.

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

اکثر APIها و بسیاری از محیط های برنامه نویسی از JSON انتظار دارند. هنگام ادغام با کد یا سرویس هایی که فقط JSON را می پذیرند، فایل های پیکربندی نوشته شده در YAML باید به JSON تبدیل شوند. ابزار برای JSON نیز فراوان است: jq، JSON Path، JSON Schema، و اکوسیستم گسترده ای از اعتبار سنجی ها و ترانسفورماتورها همگی ورودی JSON را فرض می کنند.

JSON همچنین از جهاتی که YAML نیست مبهم است. انعطاف‌پذیری YAML باعث ایجاد شگفتی‌های تجزیه می‌شود - رشته‌هایی مانند تجزیه «نه» به‌عنوان اشتباه بولی در YAML 1.1، رشته‌های نسخه تجزیه به‌عنوان شناور، خطاهای تورفتگی که تغییرات ساختاری بی‌صدا ایجاد می‌کنند. تبدیل به JSON داده ها را به شکلی با ابهام کمتر مسدود می کند.

نحوه استفاده

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

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

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

جزئیات فنی

js-yaml YAML 1.2 را با پشتیبانی اختیاری از ویژگی‌های YAML 1.1 پیاده‌سازی می‌کند. تجزیه کننده یک درخت شی جاوا اسکریپت را با استفاده از انواع بومی تولید می کند: اعداد، رشته ها، بولی ها، تهی، آرایه ها و اشیاء ساده.

JSON.stringify درخت شی را به JSON سریال می کند. تورفتگی اختیاری خروجی زیبا و چاپ شده تولید می کند. بدون آن نتیجه JSON تک خطی فشرده است. مقادیر ویژه (NaN، Infinity، undefined) JSON معتبر نیستند. مبدل آنها را وادار می کند که در صورت وجود، صفر شوند.

موارد لبه: مهرهای زمانی YAML به رشته های ISO-8601 در JSON تبدیل می شوند. داده های باینری YAML (با کدگذاری پایه 64) به یک رشته تبدیل می شود. لنگرها و نام‌های مستعار به مقادیر تکراری در JSON تفکیک می‌شوند، زیرا JSON هیچ نحو مرجعی ندارد.

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

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

آیا تبدیل YAML به JSON محتوا را تغییر می دهد؟
محتوا تا حد امکان دقیق حفظ می شود. با این حال، برخی از ویژگی های خاص قالب ممکن است معادل مستقیم نداشته باشند، بنابراین تفاوت های قالب بندی جزئی ممکن است رخ دهد.
چرا داده ها را به فرمت JSON تبدیل کنیم؟
JSON فرمت استاندارد داده برای وب API و برنامه های جاوا اسکریپت است. این برای انسان قابل خواندن است، به طور گسترده توسط زبان های برنامه نویسی پشتیبانی می شود و نحو ساده تری نسبت به XML دارد.
آیا مبدل ساختارهای تودرتو یا پیچیده YAML را مدیریت می کند؟
بله. این ابزار به درستی اشیاء تودرتو، آرایه ها و همه انواع داده های استاندارد YAML را تجزیه می کند و ساختار کامل داده را در خروجی JSON حفظ می کند.
آیا این تبدیل امن و خصوصی است؟
بله. تمام پردازش ها به صورت محلی در مرورگر شما انجام می شود. داده‌های شما هرگز از دستگاه شما خارج نمی‌شوند - بدون آپلود سرور، بدون پردازش ابری، بدون جمع‌آوری داده‌ها.
آیا YAML رفت و برگشت من تمیز خواهد بود؟
اگر JSON را دوباره به YAML بازگردانید، از نظر ساختاری بله. نظرات و ساختار لنگر از بین رفته است. ارزش های خام حفظ می شوند.
آیا داده های من روی سرور آپلود می شود؟
خیر. js-yaml در مرورگر شما اجرا می شود.
حداکثر اندازه چقدر است؟
تا 50 مگابایت js-yaml فایل های پیکربندی معمولی را فورا مدیریت می کند. تجزیه YAML بسیار بزرگ ممکن است به زمان قابل توجهی نیاز داشته باشد.
آیا از YAML چند سندی پشتیبانی می کند؟
YAML از چندین سند در یک فایل که با --- جدا شده اند پشتیبانی می کند. مبدل اولین سند را به طور پیش فرض پردازش می کند. برای مدیریت چند سند، ابتدا YAML را تقسیم کنید.