tigtools

مبدل YAML به JSON

YAML (مانیفست Kubernetes، فایل CI، مشخصات OpenAPI یا پیکربندی) را جای‌گذاری کنید و فوراً JSON قالب‌بندی‌شده دریافت کنید. هیچ چیزی بارگذاری نمی‌شود.

در مرورگر شما اجرا می‌شود بدون ثبت‌نام

تورفتگی

تبدیل معکوس: JSON به YAML

نحوه استفاده

  1. YAML را در ورودی جای‌گذاری کنید یا نمونه را امتحان کنید.
  2. تورفتگی ۲ یا ۴ فاصله را انتخاب کنید.
  3. JSON را کپی کنید یا آن را به‌صورت یک فایل .json دانلود کنید.

نحوه کار

YAML با کتابخانه متن‌باز yaml و با طرحواره هسته YAML 1.2 تجزیه می‌شود که همان انتظار ابزارهای مدرن است: yes، no، on و off رشته باقی می‌مانند و فقط true و false بولی هستند. لنگرها (&name) و نام‌های مستعار (*name) گسترش می‌یابند و کلیدهای ادغام << اعمال می‌شوند؛ تعداد دفعات گسترش نام‌های مستعار محدود است، بنابراین اسنادی که عمداً انفجاری هستند به‌جای قفل‌کردن صفحه رد می‌شوند.

فایلی با چند سند که با --- جدا شده‌اند، به آرایه JSON با یک عنصر برای هر سند تبدیل می‌شود. توضیحات، لنگرها و برچسب‌ها معادل JSON ندارند و حذف می‌شوند؛ کلیدها ترتیب خود را حفظ می‌کنند. مهرهای زمانی رشته باقی می‌مانند. اعداد صحیح با بیش از حدود ۱۵ رقم دقت خود را از دست می‌دهند، همان‌طور که برای هر JSON پردازش‌شده در JavaScript رخ می‌دهد.

اگر YAML نامعتبر باشد، اولین خطا با شماره خط و ستون نمایش داده می‌شود؛ مثلاً استفاده از تب برای تورفتگی یا نبودن براکت بسته. برای جهت مخالف از JSON به YAML یا مبدل دوطرفه JSON ⇄ YAML استفاده کنید.

نمونه‌ها

فایل CI با لنگرها

فهرستی از کارها که بلوک پیش‌فرض را با <<: *defaults دوباره استفاده می‌کند، به JSON تبدیل می‌شود و پیش‌فرض‌ها در هر کار کپی می‌شوند؛ بنابراین دقیقاً می‌بینید هر کار چه چیزی دریافت می‌کند.

فایل Kubernetes چندسندی

فایلی با یک Deployment و یک Service که با --- جدا شده‌اند به آرایه‌ای JSON از دو شیء تبدیل می‌شود و برای kubectl یا jq آماده است.

پرسش‌های متداول

چرا yes یک رشته باقی می‌ماند؟

YAML 1.2 که در اینجا و در بیشتر ابزارهای فعلی استفاده می‌شود، فقط true و false را بولی در نظر می‌گیرد. تجزیه‌گرهای قدیمی YAML 1.1 مقادیر yes، no، on و off را به بولی تبدیل می‌کردند که مشکلات زیادی ایجاد می‌کرد.

تکلیف کامنت‌ها چه می‌شود؟

JSON کامنت ندارد، بنابراین کامنت‌ها حذف می‌شوند. خود داده‌ها تغییری نمی‌کنند.

آیا محدودیت اندازه‌ای وجود دارد؟

فقط حافظه مرورگر شما. فایل‌های بزرگ پس از مکث کوتاهی هنگام تایپ تبدیل می‌شوند تا صفحه واکنش‌گرا بماند.

حریم خصوصی

تبدیل کاملاً در مرورگر شما انجام می‌شود. YAML و JSON شما بارگذاری یا ذخیره نمی‌شوند.