تحويل YAML إلى JSON والعكس
أداة واحدة للاتجاهين: يُحدَّد الاتجاه من الملف نفسه، وملفات YAML متعددة المستندات مدعومة، وكل خطأ يذكر رقم سطره.
أفلت ملفاتك هنا
.yaml, .yml, .json, .txt · حتى 300 م.ب
إعدادات إضافيةإعدادات أقل
كيفية تحويل YAML إلى JSON والعكس
- 1
إفلات ملف YAML أو JSON
أضف ملفًا واحدًا أو حتى 20 ملفًا. يُتعرف على الامتدادات .yaml و.yml و.json كلها، ويمكن أن تجمع الدفعة الواحدة بينها كما تشاء.
- 2
التحقق من الاتجاه المكتشف
يُختار الاتجاه من الامتداد، أو من المحتوى في حالة النص العادي. غيّره متى لم يكن التخمين التلقائي ما تقصده.
- 3
التحويل والتنزيل
انقر على الزر واحفظ الملف المحوّل. وعدة ملفات تصلك في أرشيف ZIP واحد.
لماذا يجب تخمين الاتجاه بحذر
كل مستند JSON صالح هو أيضًا مستند YAML صالح، فلو فُحص الملف بمحلل YAML أولًا لصُنّف ملف .json العادي على أنه YAML وحُوّل إلى نفسه. لذلك يفوز الامتداد: ملف .json يتحول إلى YAML، وملفا .yaml و.yml يتحولان إلى JSON. ولا يحسم المحتوى إلا في ملفات .txt وغيرها من المدخلات بلا امتداد معروف، ويُجرَّب JSON أولًا للسبب نفسه تمامًا.
المفتاح المكرر خطأ، لا مسألة تفضيل
في JSON تفوز آخر قيمة للمفتاح المكرر بصمت. أما في YAML فالتكرار نفسه خطأ يستحق التوقف عنده، لأنه يحدث في ملفات الإعدادات بالذات: ملف docker-compose.yml فيه ports مذكورة مرتين في المستوى نفسه يلغي القائمة الأولى بصمت، وغالبًا لا يُكتشف ذلك إلا في بيئة الإنتاج. لذلك يُذكر رقما السطرين، فترى أي تعريف كان على وشك الاختفاء.
أربعة مخططات، وما يقدمه المخطط الأضيق
يتعرف المخطط الافتراضي على أنواع YAML المعتادة، ومنها التواريخ والبيانات الثنائية. والمخططان core وjson أشد صرامة بالتدريج، أما failsafe فلا يتعرف إلا على السلاسل النصية والخرائط والتسلسلات. اختر مخططًا ضيقًا حين يجب أن يُقرأ ملف الإعدادات بياناتٍ حرفية: فهو يمنع مفاجآت YAML الشهيرة، حين يصير رقم الإصدار عددًا عشريًا وتصير no قيمة false.
ملفات الإعدادات تبقى على جهازك
تحمل ملفات الإعدادات أسماء الخوادم والمنافذ وأسماء الحاويات السحابية، وأحيانًا ما هو أخطر، ولهذا بالضبط يجري هذا التحويل في علامة التبويب في متصفحك لا على خادم. التحليل والإخراج كلاهما يعملان محليًا، في خيط عامل منفصل (worker)، بشيفرة وصلت مع الصفحة. لا يُرفع شيء، ولا ينتظر شيء في طابور، ولا يبقى شيء بعد إغلاق علامة التبويب.
الأسئلة الشائعة
كيف يُختار اتجاه التحويل؟
بامتداد الملف أولًا: ملف .json يتحول إلى YAML، وملفا .yaml و.yml يتحولان إلى JSON. وفي ملفات .txt وغيرها من الملفات بلا امتداد معروف يحسم المحتوى: يُجرَّب النص على أنه JSON أولًا، ثم على أنه YAML. وإذا لم ينجح التحليل في الحالتين تُبلَّغ بذلك، ويمكنك أن تختار الاتجاه بنفسك.
ماذا يحدث لملف YAML فيه عدة مستندات؟
الملف المقسوم بعلامات --- يمكن قراءته بطريقتين. حين يكون وضع المستندات المتعددة مفعّلًا، يصير كل مستند عنصرًا في مصفوفة JSON واحدة. وحين يكون متوقفًا، لا يُحوَّل إلا المستند الأول، وتظهر لك ملاحظة لا توقف العمل تخبرك بأن الباقي تُجوهل، فلا تفاجئك نتيجة مبتورة بصمت أبدًا.
لماذا يُعامل المفتاح المكرر على أنه خطأ؟
لأن التعريف الثاني في YAML يستبدل الأول دون أي إشارة إلى أن ذلك حدث. وهذه طريقة شائعة لفقدان ربط منفذ أو متغير بيئة في ملف إعدادات. يتوقف التحويل ويذكر المفتاح مع رقمي السطرين، فتقرر أنت أي تعريف كان مقصودًا.
ما مخطط failsafe ومتى أحتاج إليه؟
لا يتعرف failsafe إلا على السلاسل النصية والخرائط والتسلسلات؛ لا شيء يتحول إلى عدد أو قيمة منطقية أو تاريخ أو null. وهو الاختيار الصحيح حين يجب أن يُحفظ ملف الإعدادات حرفيًا، مثلًا حين تكون قيمة مثل 1.10 رقم إصدار لا عددًا، أو حين تحوّل «مشكلة النرويج» رمز الدولة no إلى false.
هل تبقى تعليقات YAML في ملف JSON؟
لا، ولا يمكن أن تبقى. ليس في JSON أي صياغة للتعليقات أصلًا، فكل ما يأتي بعد # يُحذف أثناء التحويل. هذه خاصية في الصيغة الهدف لا نقص في الأداة، فاحتفظ بملف YAML مصدرًا أساسيًا إذا كانت التعليقات تهمك.
ماذا يغيّر مستوى الأسلوب المضمّن (flow level)؟
يحدد عند أي عمق من التداخل ينتقل إخراج YAML من الأسلوب الكتلي، بالشرطات والمسافات البادئة، إلى الأسلوب المضمّن مثل [a, b] و{a: b}. والإعداد الافتراضي يُبقي كل المستويات بالأسلوب الكتلي، وهو الأسهل قراءة لملفات الإعدادات التي تُعدَّل يدويًا. وضبط عمق موجب يضغط كل ما تحته، وهذا يناسب البيانات شديدة التداخل.
هل المراسي والأسماء المستعارة مدعومة؟
لا. المراسي والأسماء المستعارة ومفاتيح الدمج (&defaults و*defaults و<<)، ومعها الوسوم المخصصة للتطبيقات، خارج ما تقرؤه هذه الأداة. والملف الذي يستخدمها يحصل على خطأ واضح يذكر السطر بدل نتيجة خاطئة بصمت، وهذا الفشل أكثر أمانًا لملف إعدادات أنت على وشك نشره.
هل يُرفع ملفي إلى أي مكان؟
لا. المحللان كلاهما يصلان مع الصفحة ويعملان داخل علامة التبويب في متصفحك، فلا تنتقل إعداداتك عبر الشبكة أبدًا. لا يوجد جزء على الخادم يخزنها، ولا يُحتفظ بشيء بعد إغلاق علامة التبويب.