DevToys Web Pro iconDevToys Web Proالمدونة
قيّمنا:
جرّب إضافة المتصفح:

محول YAML <> TOML

الإعدادات

  • المسافة البادئة

YAML

  • TOML

  • Loading editor...
    Loading editor...
    التفاصيل التقنية

    كيف يعمل مُحوِّل YAML ↔ TOML

    ما الذي تفعله الأداة

    يقوم مُحوِّل YAML ↔ TOML بتحويل البيانات بين تنسيقي YAML وTOML (Tom's Obvious, Minimal Language) مع الحفاظ على بنية البيانات وقيمها. يدعم هذا المُحوِّل التحويل في الاتجاهين: من yaml إلى toml ومن toml إلى yaml. يُستخدم كل من YAML وTOML على نطاق واسع لملفات الإعدادات، حيث يحظى YAML بشعبية في أدوات DevOps (Kubernetes وDocker Compose وAnsible) بينما يحظى TOML بشعبية في مشاريع Rust (Cargo.toml) وPython (pyproject.toml). يدعم المُحوِّل مسافة بادئة قابلة للتهيئة لمخرجات YAML، ما يتيح لك الاختيار بين مسافة بادئة بمقدار مسافتين أو 4 مسافات لتتوافق مع دليل أسلوب مشروعك.

    حالات استخدام شائعة للمطورين

    يستخدم المطورون محوّلات YAML TOML عند ترحيل الإعدادات بين منظومات أدوات مختلفة، أو توحيد تنسيقات الإعدادات، أو العمل مع مشاريع تستخدم تنسيقات ملفات إعداد مختلفة. يكون المُحوِّل مفيدًا عند الانتقال من إعدادات قائمة على YAML (مثل ملفات Kubernetes manifests) إلى إعدادات قائمة على TOML (مثل مشاريع Rust Cargo)، أو العكس. قبل التحويل، قد ترغب في تنسيق YAML باستخدام منسّق YAML أو تنسيق TOML باستخدام منسّق TOML لتحسين قابلية القراءة. يساعد المُحوِّل عند تصحيح مشكلات الإعدادات، أو مقارنة التنسيقات، أو إعداد البيانات لأدوات مختلفة تتوقع YAML أو TOML.

    تنسيقات البيانات أو أنواعها أو متغيراتها

    يُعد كل من YAML وTOML تنسيقين قابلين للقراءة البشرية لتسلسل البيانات، لكنهما يختلفان في الصياغة والقدرات. كلاهما يدعم الكائنات والمصفوفات والسلاسل النصية والأرقام والقيم المنطقية وقيم null. يدعم YAML التعليقات والسلاسل متعددة الأسطر والمرابط/الأسماء المستعارة (anchors/aliases) وأنماط التدفق. يدعم TOML التعليقات والجداول المضمنة ومصفوفة الجداول. أثناء التحويل، تُفقَد بعض الميزات: تُحفَظ تعليقات YAML عند التحويل إلى TOML (كلاهما يدعم التعليقات)، لكن مرابط/أسماء YAML المستعارة تُحلّ ولا تُحفَظ. تتحول بنية الجداول في TOML إلى بنية كائنات متداخلة في YAML. يحافظ المُحوِّل على أنواع البيانات، لكن توجد بعض الحالات الحدّية: تتحول أنواع التاريخ والوقت في TOML إلى سلاسل نصية في YAML، وتتحول الجداول المضمنة في TOML إلى كائنات YAML.

    المزالق الشائعة والحالات الطرفية

    إحدى المشكلات الشائعة هي أن مرابط YAML والأسماء المستعارة (المستخدمة للإحالة) تُحل أثناء التحويل ولا تُحفَظ كمراجع في TOML. ومن المزالق الأخرى التعامل مع بنى الجداول: يستخدم TOML عناوين جداول مثل [table]والتي تتحول إلى بنية كائنات متداخلة في YAML. تتحول مصفوفة الجداول في TOML (باستخدام [[array]]) إلى مصفوفات YAML. تتحول قيم التاريخ والتاريخ-الوقت في TOML إلى سلاسل نصية في YAML. عند تحويل بنى متداخلة كبيرة، تأكد من أن المخرجات تطابق توقعاتك، خصوصًا في الحالات الحدّية مثل المصفوفات الفارغة وقيم null والكائنات المتداخلة بعمق. تتحول السلاسل متعددة الأسطر في YAML باستخدام block scalars (| أو &gt;) إلى سلاسل TOML، ما قد يؤدي إلى فقدان التنسيق.

    متى تستخدم هذه الأداة بدلًا من الكود

    استخدم هذا المُحوِّل لإجراء تحويلات سريعة للتنسيق، أو تحويلات لمرة واحدة، أو عند العمل خارج بيئة التطوير الخاصة بك. إنه مثالي لتحويل ملفات الإعدادات، أو مقارنة التنسيقات، أو إعداد البيانات لأدوات مختلفة. بالنسبة لكود الإنتاج، استخدم مكتبات تحويل مدمجة في تطبيقك يمكنها التعامل مع تحويلات التنسيق كجزء من مسارات معالجة البيانات. توفر مكتبات تحليل YAML وTOML معالجة أفضل للأخطاء، وأمانًا للأنواع، وتكاملًا مع قاعدة الشفرة لديك. تتفوق أدوات المتصفح في التحويلات الارتجالية والاستكشاف، بينما توفر الحلول المعتمدة على الكود الأتمتة والتحقق والتكامل مع مسارات CI/CD.