پرش به محتوای اصلی

تبدیل YAML به JSON رایگان

YAML را به JSON و JSON را به YAML در هر دو جهت تبدیل کنید. هر فرمتی را وارد کنید و خروجی تبدیل‌شده را فوری دریافت کنید — بدون نیاز به آپلود سرور.

پس از بارگذاری آفلاین کار می‌کند
خروجی JSON
خروجی اینجا ظاهر می‌شود…

کاربردهای رایج

  • YAML را برای Manifests Kubernetes به JSON تبدیل کنیدKubernetes YAML را به JSON (یا برعکس) برای ابزارها، اسکریپت های اعتبارسنجی یا به طور مستقیم از طریق API اعمال کنید.
  • Docker Compose YAML / تبدیل JSONdocker-compose.yml را به JSON برای بررسی تبدیل کنید یا پس از ویرایش های برنامه ای برای YAML برگردانید.
  • تبدیل پیکربندی Conveyor CI/CDGitHub Actions، GitLab CI، CircleCI و سایر پیکربندی های Conveyor را بین قالب های YAML و JSON تبدیل کنید.
  • تبدیل فایل پیکربندی برنامهفایل های پیکربندی برنامه را بین YAML و JSON تبدیل کنید: هنگام تغییر چارچوب ها یا اشتراک پیکربندی ها در تمام ابزارها مفید است.
  • تبدیل OpenAPI / Swagger Specمشخصات API OpenAPI 3.x یا Swagger 2.0 را بین قالب های YAML و JSON تبدیل کنید. هر دو قالب معتبر و قابل تعویض هستند.

نحوه کار

هر دو جهت تبدیل — YAML به JSON و JSON به YAML — کاملاً در مرورگر شما با استفاده از یک تجزیه‌گر و صادرکننده دست‌نویس ساخته‌شده در صفحه اجرا می‌شوند، بدون کتابخانه YAML شخص‌ثالث و بدون دخالت سرور. منطق در یک ماژول واحد TypeScript (lib/yamljson.ts) زندگی می‌کند که نگاشت‌ها، توالی‌ها، اسکالرها، رشته‌های نقل‌قول‌شده، و حذف کامنت درون‌خطی را مدیریت می‌کند.

  1. 1
    ورودی خط‌به‌خط پیش‌پردازش می‌شود
    برای ورودی YAML، تجزیه‌گر متن را به خطوط تقسیم می‌کند، کامنت‌های درون‌خطی را می‌بُرد (حالت نقل‌قول را ردیابی می‌کند تا از بریدن # درون رشته‌ها اجتناب کند)، عمق تورفتگی را اندازه می‌گیرد، و خطوط خالی را دور می‌ریزد — یک لیست ساختاریافته از توکن‌ها را پیش از شروع هر تجزیه‌ای می‌سازد.
  2. 2
    یک تجزیه‌گر فرود بازگشتی درخت داده را می‌سازد
    تجزیه‌گر لیست توکن را با استفاده از سطح تورفتگی برای تعیین ساختار می‌پیماید. آیتم‌های توالی (- value)، کلیدهای نگاشت (key: value)، و بلوک‌های تودرتو را تشخیص می‌دهد. اسکالرها از یک گام تحمیل-تایپ‌شده عبور می‌کنند که null، بولین‌ها، اعداد صحیح (رد‌کردن مقادیر صفر-پیشرو مانند 007 برای اجتناب از فساد خاموش داده)، و اعشار را مدیریت می‌کند — با یک حالت اختیاری که کلمات‌بی‌محافظ YAML 1.1 مانند yes، no، on، و off را به‌عنوان رشته به‌جای تبدیل به بولین نگه می‌دارد.
  3. 3
    ویژگی‌های پشتیبانی‌نشده YAML علامت‌گذاری می‌شوند، نه به‌طور خاموش رها
    پیش از صدور خروجی، ابزار برای لنگرها (&name)، آلیاس‌ها (*name)، کلیدهای ادغام (<<:)، اسکالرهای بلوک (| و >)، نشانگرهای سند-چندگانه (---)، و کلیدهای نگاشت تکراری اسکن می‌کند. هرکدام از این‌ها به‌جای تولید JSON به‌طور ظریف اشتباه، یک هشدار قابل‌مشاهده را راه‌اندازی می‌کند.
  4. 4
    JSON سریال می‌شود یا YAML صادر می‌شود، سپس در دسترس قرار می‌گیرد
    برای YAML→JSON، مقدار تجزیه‌شده به JSON.stringify با تورفتگی انتخابی شما (۲ فاصله، ۴ فاصله، تب، یا مینیفای‌شده) تحویل می‌شود. برای JSON→YAML، یک صادرکننده سفارشی مقدار جاوااسکریپت تجزیه‌شده را می‌پیماید و YAML تورفته تولید می‌کند، اسکالرهای رشته‌ای را فقط وقتی لازم است نقل‌قول می‌کند (مثلاً، مقادیری که :، #، دارند یا شبیه کلمات رزرو‌شده هستند). خروجی فوراً هنگام تایپ ظاهر می‌شود و می‌تواند کپی یا دانلود شود.

ابزارهای مرتبط

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