تحويل JSON إلى YAML

حوّل بيانات JSON إلى صيغة YAML فورًا بهذا المحوّل المجاني الذي يعمل في المتصفح. آمن وسريع ويعمل مباشرة داخل متصفحك.

واجهة الأداة نفسها باللغة الإنجليزية حاليًا، وتعمل بالكامل داخل متصفحك.

جارٍ تحميل الأداة…

JSON وYAML: البيانات نفسها بلباس مختلف

صُممت YAML، وهي اختصار تكراري ساخر لعبارة «YAML Ain't Markup Language»، لتكون صيغة بيانات ودودة للبشر. تستخدم الإزاحة بدل الأقواس، ولا تحتاج إلى اقتباس معظم النصوص، وتسمح بالتعليقات، وتدعم المراسي لإعادة استخدام الكتل. وكل مستند JSON صالح هو أيضًا YAML صالحة، لأن YAML 1.2 عُرّفت كمجموعة أشمل منه.

لذا تحمل الصيغتان نموذج البيانات نفسه: خرائط وتسلسلات وقيم مفردة. والتحويل يعني تحليل JSON إلى ذلك النموذج ثم إخراجه بصيغة YAML المزاحة. لكن راحة YAML تأتي بحواف حادة شهيرة: فالكلمتان no وoff دون اقتباس قد تُقرآن كقيم منطقية، ونصوص الإصدارات مثل 1.10 قد تُقرأ كأرقام، وأخطاء الإزاحة تغيّر المعنى بصمت؛ لذا يستحق الناتج القراءة قبل لصقه مباشرة في إعدادات الإنتاج.

لماذا أنشأنا هذه الأداة

الطلب يأتي بالكامل تقريبًا من أدوات البنية التحتية. فملفات Kubernetes وDocker Compose وسير عمل GitHub Actions وكتب Ansible ومواصفات OpenAPI كلها مكتوبة بـ YAML، بينما الواجهات والشيفرة حولها تُخرج JSON.

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

نصائح وأخطاء شائعة

  • اقتبس أي شيء يشبه رقم إصدار أو وقتًا أو كلمة yes/no، وإلا غيّرت YAML نوعه.
  • YAML حساسة للإزاحة وتمنع علامات الجدولة؛ لا تخلط بينهما أبدًا.
  • أضف التعليقات بعد التحويل؛ فهي من الأسباب الرئيسية لاستخدام YAML أصلًا.
  • تحقق من النتيجة بأداتك الفعلية، فأنظمة Kubernetes والتكامل المستمر تطبّق فحوص مخططاتها الخاصة فوق ذلك.

بداية سريعة: استخدام تحويل JSON إلى YAML

  1. الصق JSON الذي تريد تحويله.
  2. شغّل التحويل لتحصل على YAML مزاحة.
  3. تصفح الناتج بحثًا عن قيم قد تعيد YAML تفسيرها: الإصدارات والأوقات وكلمات yes/no.
  4. أضف علامات اقتباس حول أي منها يجب أن يبقى نصًا.
  5. انسخ YAML إلى ملف التعريف أو نزّلها كملف.

رحلة العودة هي تحويل YAML إلى JSON. وتحقق من المصدر أولًا بأداة مدقق JSON إن جاء من مكان غير مألوف.

JSON مقابل YAML: البيانات نفسها بأسلوب مختلف

يمثّل JSON وYAML الأنواع نفسها من البنى، من كائنات ومصفوفات ونصوص وأرقام وقيم منطقية، لذا يتحولان بنظافة في الاتجاهين. والفرق في العرض:

  • JSON يستخدم الأقواس المعقوصة والمربعة وعلامات الاقتباس. مدمج وصارم ومناسب للآلات.
  • YAML تستخدم الإزاحة والشرطات بدل علامات الترقيم. أوضح في القراءة، وتدعم التعليقات، ومفضلة للملفات التي يعدّلها البشر يدويًا.

ولأن نموذج البيانات الأساسي متطابق، فالتحويل بلا فقدان للمحتوى العادي.

خصائص YAML التي يجب معرفتها

تأتي قابلية قراءة YAML مع حوافها الحادة:

  • الإزاحة ذات دلالة. تستخدم YAML المسافات (لا علامات الجدولة أبدًا) لإظهار البنية. أخطئ في الإزاحة فيتغير المعنى أو يفشل التحليل.
  • «مشكلة النرويج». الكلمات no وyes وon وoff وtrue وfalse دون اقتباس تُقرأ كقيم منطقية. فقائمة رموز دول فيها NO للنرويج قد تتحول إلى false. اقتبس النصوص التي قد يُساء فهمها.
  • الأرقام مقابل النصوص. قيمة مثل 1.0 أو 007 قد تُفسَّر كرقم، فيسقط الصفر الأخير أو الأصفار البادئة. اقتبسها لتبقى نصًا.

المحوّل الجيد يتولى الاقتباس، لكن من المفيد تصفح الناتج بحثًا عن هذه الحالات.

تحقق قبل أن تحوّل

لا تحوّل إلا JSON صالحًا. وإن كان قد يكون معطوبًا، فافحصه بأداة مدقق JSON ورتّبه بأداة منسّق JSON أولًا. فالمدخلات الفاسدة تنتج مخرجات فاسدة.

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

  • كتابة إعدادات Kubernetes أو Docker أو التكامل المستمر من بيانات JSON.
  • تحويل استجابة API إلى صيغة إعدادات مقروءة.
  • نقل الإعدادات بين أنظمة تفضّل صيغًا مختلفة.

أدوات أخرى من أدوات المطورين

تصفح جميع أدوات المطورين ←