esc
JSON → YAML

تحويل ⁦JSON⁩ إلى ⁦YAML⁩:
المحوّل

تحويل ⁦JSON⁩ إلى ⁦YAML⁩ مجانًا وبخصوصية وفي لحظات.

⁦JSON⁩ إلى CSVXMLTOON عكس الترتيب YAML → JSON

كيفية تحويل تحويل ⁦⁦JSON⁩⁩ إلى ⁦⁦YAML⁩⁩

  1. 01أضف ملفات ⁦JSON⁩اختر الملفات أو أفلتها على الصفحة.
  2. 02التحويل على جهازكلا يُرفع أي شيء. عدّل الإعدادات إن أردت.
  3. 03تنزيلاحفظ كل ملف على حدة، أو كلها في ملف ⁦ZIP⁩ واحد.
شخصية ملف ترتّب أقواسًا متداخلة في صفوف

ما هو ⁦JSON⁩؟

صيغة البيانات في واجهات ⁦API⁩ والتطبيقات. كائنات وقوائم، متداخلة في الغالب.

JSONبيانات متداخلة
YAMLإعدادات مقروءة

حوّل ⁦JSON⁩ إلى ⁦YAML⁩ لتحصل على ملف يستطيع الناس قراءته وتعديله يدويًا: ملف ⁦Kubernetes⁩، أو ملف ⁦Docker Compose⁩ أو ⁦GitHub Actions⁩، أو ملف متغيرات ⁦Ansible⁩، أو مواصفات ⁦OpenAPI.⁩ تبقى البنية وكل قيمة كما هي؛ لا يتغير إلا أسلوب الكتابة، ويجري التحويل في متصفحك.

من ⁦JSON⁩ إلى ⁦YAML:⁩ قبل وبعد

المُدخل: {"⁦service⁩": {"⁦name⁩": "⁦web⁩", "⁦ports⁩": [⁦80, 443⁩], "⁦env⁩": {"⁦DEBUG⁩": ⁦false⁩}}}. الناتج: سطر ⁦service:⁩، ثم ⁦name: web⁩، ثم ⁦ports:⁩ يليه - ⁦80⁩ و- ⁦443⁩ عنصرين في قائمة، ثم ⁦env:⁩ وتحته ⁦DEBUG: false⁩، وكل مستوى مُزاح بمسافتين.

تختفي الأقواس المعقوفة والمربعة والفواصل ومعظم علامات التنصيص. تصبح قائمة الكائنات قائمة يبدأ كل عنصر فيها بشرطة، فتتحول مصفوفة ⁦containers⁩ إلى - ⁦name: app⁩ يليها ⁦image: nginx⁩ مصطفًّا تحتها.

لماذا توضع بعض النصوص بين علامات تنصيص

بعض القيم نصوص في ⁦JSON⁩، لكنها ستعني شيئًا آخر لو كُتبت مجردة في ⁦YAML.⁩ لذا يضعها المحوّل بين علامتي تنصيص مفردتين حتى تُقرأ بعد ذلك على أنها النصوص نفسها:

  • كلمات قد يعدّها قارئ ⁦YAML⁩ قيمًا منطقية: "⁦yes⁩" و"⁦no⁩" و"⁦on⁩" و"⁦off⁩" و"⁦true⁩"، وحتى المفاتيح المكونة من حرف واحد مثل ⁦y⁩ و⁦n⁩، التي تعاملها قارئات ⁦YAML 1.1⁩ القديمة على أنها قيم منطقية.
  • النصوص التي تشبه الأرقام أو التواريخ، مثل "⁦123⁩" أو "⁦1.10⁩" أو "⁦2024-01-15⁩".
  • النصوص التي تبدأ بـ # أو تحتوي على نقطتين رأسيتين تليهما مسافة، إذ كانت ستبدأ تعليقًا أو مفتاحًا جديدًا لولا ذلك.
  • النصوص الفارغة، وتُكتب ''.

النصوص الطويلة ومتعددة الأسطر

تبقى النصوص الطويلة في سطر واحد. لا تُطوى عند عرض ثابت، فتخرج الروابط والمفاتيح والأوامر الطويلة كما كانت تمامًا.

النص الذي يحتوي على فواصل أسطر يصبح كتلة حرفية تبدأ بـ |، مع الإبقاء على كل فاصل سطر كما كان. هذا أسهل قراءة بكثير من رموز \⁦n⁩، وهو الطريقة المعتادة لتخزين السكربتات المضمّنة أو الشهادات أو الأوصاف الطويلة في ⁦YAML.⁩

ما الذي يبقى كما هو

  • تحتفظ الأرقام و⁦true⁩ و⁦false⁩ و⁦null⁩ بأنواعها. وتُكتب ⁦null⁩ بالشكل ⁦null.⁩
  • تحتفظ المفاتيح بالترتيب الذي كانت عليه في ⁦JSON⁩، باستثناء المفاتيح التي هي أرقام مجردة، إذ تضعها ⁦JavaScript⁩ دائمًا في البداية.
  • تُكتب الكائنات والقوائم الفارغة بالشكل {} و[].
  • لا تُضاف علامة مستند --- ولا تعليقات ولا مراسٍ. والإزاحة دائمًا مسافتان، وهو الأسلوب الأكثر شيوعًا في ملفات الإعدادات؛ وليس في الصفحة إعدادات لتغييرها.

المشكلات والأدوات ذات الصلة

يُرفض ⁦JSON⁩ غير الصالح مع ذكر السطر والعمود اللذين فيهما المشكلة، وغالبًا ما تكون فاصلة زائدة في النهاية أو علامة تنصيص ناقصة. وتمرير ⁦YAML⁩ عبر أداة ⁦YAML⁩ إلى ⁦JSON⁩ يعيد البيانات نفسها، وهي طريقة سريعة للتحقق من التحويل ذهابًا وإيابًا. للبيانات الموسومة بدلًا من ملفات الإعدادات، استخدم ⁦JSON⁩ إلى ⁦XML.⁩

نظرة سريعة

السعر
مجاني. بلا تسجيل وبلا علامة مائية.
الخصوصية
تُعالَج الملفات في متصفحك ولا تُرفع أبدًا.
يقبل
JSON
ستحصل على
YAML
دفعة
حوّل ملفات كثيرة دفعة واحدة ونزّلها في ملف ⁦ZIP⁩
يعمل على
⁦Chrome⁩ و⁦Edge⁩ و⁦Firefox⁩ و⁦Safari⁩، على الهواتف والحواسيب
دون اتصال
بعد أول تحويل، يواصل العمل دون إنترنت

الأسئلة

هل تُرفع ملفاتي؟

أبدًا. يجري تحويل ⁦JSON⁩ إلى ⁦YAML⁩ داخل متصفحك، فتبقى ملفاتك على جهازك.

هل يمكنني تحويل عدة ملفات دفعة واحدة؟

نعم. أضف ما تشاء من الملفات ونزّلها كلها في ملف ⁦ZIP⁩ واحد.

هل يوجد حد لحجم الملف؟

الملفات التي تبلغ عشرات الميغابايت لا مشكلة فيها على معظم أجهزة الكمبيوتر.

لماذا توجد بعض القيم بين علامتي تنصيص مفردتين؟

إنها نصوص كانت ستُقرأ لولا ذلك على أنها قيمة منطقية أو رقم أو تاريخ أو تعليق. تحافظ علامات التنصيص عليها نصوصًا كما هي.

هل يمكنني اختيار إزاحة بأربع مسافات؟

لا. يستخدم الناتج دائمًا مسافتين. ومعظم محرّرات الكود تستطيع إعادة إزاحة ملف ⁦YAML⁩ إن كان مشروعك يستخدم أربع مسافات.

هل سيتحول ⁦YAML⁩ مرة أخرى إلى ⁦JSON⁩ نفسه؟

نعم. تُحفظ البنية والأنواع والقيم، لذا تعيد أداة ⁦YAML⁩ إلى ⁦JSON⁩ البيانات نفسها. قد تختلف المسافات فقط.