تخطَّ إلى المحتوى الرئيسي

محول YAML إلى JSON مجانًا

تحويل YAML إلى JSON و JSON إلى YAML في كلا الاتجاهين. الصق بأي من التنسيقين واحصل على المخرجات المحولة على الفور — لا يلزم تحميل الخادم.

يعمل دون اتصال بعد التحميل
ناتج JSON
سيظهر الناتج هنا…

الاستخدامات الشائعة

  • تحويل YAML إلى JSON لبيانات Kubernetesتحويل Kubernetes YAML إلى JSON (أو العكس) للأدوات وسكريبتات التحقق أو التطبيق المباشر عبر API.
  • تحويل Docker Compose YAML / JSONتحويل docker-compose.yml إلى JSON للفحص أو العودة إلى YAML بعد التعديلات البرمجية.
  • تحويل إعدادات خط أنابيب CI/CDتحويل GitHub Actions و GitLab CI و CircleCI وتكوينات خطوط الأنابيب الأخرى بين صيغ YAML و JSON.
  • تحويل ملف إعدادات التطبيقتحويل ملفات تكوين التطبيق بين YAML و JSON، مفيد عند تبديل الأطر أو مشاركة الإعدادات عبر الأدوات.
  • تحويل مواصفات OpenAPI / Swaggerتحويل مواصفات 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 بالإزاحة التي اخترتها (مسافتان، أو 4 مسافات، أو علامة جدولة، أو مصغّر). ولتحويل JSON→YAML، يمر مُخرج مخصص على قيمة JavaScript المحلَّلة وينتج YAML مُزاحًا، مقتبسًا القيم المفردة النصية فقط عند الضرورة (مثل القيم التي تحتوي على : أو # أو تشبه الكلمات المحجوزة). يظهر الإخراج فورًا أثناء الكتابة ويمكن نسخه أو تنزيله.

أدوات ذات صلة

الأسئلة الشائعة