محلل YAML

حلّل وتحقق وحوّل YAML إلى JSON والعكس. جميع العمليات تتم في متصفحك لتحقيق أقصى أمان وخصوصية.

من YAML إلى JSON من JSON إلى YAML تحقق وفحص
المفاتيح
0
العمق
0
الحجم
0 B

كيفية استخدام محلل YAML

1

اختر الوضع

حدد وضع التحويل من YAML إلى JSON أو من JSON إلى YAML

2

الصق المحتوى

الصق محتوى YAML أو JSON في حقل الإدخال

3

تحويل وفحص

انقر تحقق لفحص بناء الجملة أو اعرض المخرجات المحولة فوراً

ما هو YAML؟

YAML (YAML Ain't Markup Language) هو معيار تسلسل بيانات مقروء بشرياً يمكن استخدامه مع جميع لغات البرمجة ويُستخدم غالباً لملفات التكوين.

الميزات الرئيسية

مقروء بشرياً

مصمم ليكون سهل القراءة والكتابة من قبل البشر بأقل قدر من العبء

مستخدم على نطاق واسع

يُستخدم بشكل شائع لملفات التكوين في Docker و Kubernetes و CI/CD والمزيد

أنواع البيانات

يدعم السلاسل النصية والأرقام والقيم المنطقية والقوائم والخرائط والمحتوى متعدد الأسطر

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

ما هو إصدار مواصفات YAML الذي تدعمه هذه الأداة؟

تدعم هذه الأداة مواصفات YAML 1.2 من خلال مكتبة js-yaml، والتي تغطي الغالبية العظمى من مستندات YAML المستخدمة حالياً بما في ذلك تكوينات Kubernetes وملفات Docker Compose وخطوط CI/CD.

هل يمكنني تحويل JSON مرة أخرى إلى YAML؟

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

هل بياناتي آمنة عند استخدام هذا المحلل؟

بالتأكيد. جميع عمليات التحليل والتحويل تتم بالكامل في متصفحك باستخدام JavaScript من جانب العميل. بيانات YAML و JSON لا تُرسل أبداً إلى أي خادم.

ما علاقة YAML بـ JSON؟

صُمِّم YAML 1.2 صراحةً ليكون مجموعة شاملة صارمة من JSON - فكل مستند JSON صالح هو مستند YAML صالح، وJSON هو المجموعة الفرعية الموصى بها للتوافق البيني في YAML. ويضيف YAML فوق ذلك التعليقات والمراسي (anchors) وblock scalars والتحويل التلقائي للأنواع. هذه العلاقة تجعل التحويل من YAML إلى JSON بلا فقدان للبيانات، وهو بالضبط ما تنفّذه هذه الأداة.

ما هي مراسي YAML (anchors) والمراجع (aliases) ومفاتيح الدمج (merge keys)؟

يقوم &anchor بتسمية عقدة، ويعيد *alias استخدامها، ويدمج <<: خريطة (mapping) في الخريطة الحالية. نمط شائع: عرّف defaults: &d يتضمن retries وtimeout، ثم اكتب prod: { <<: *d, retries: 10 } لوراثة timeout مع تجاوز retries. هذا الأسلوب في إزالة التكرار نشأ في YAML 1.1 وما زالت تدعمه جميع الأدوات تقريباً.

ما هي «مشكلة النرويج» في YAML؟

يحوّل YAML 1.1 السلسلة النصية المجردة NO إلى القيمة المنطقية false - وكذا الأمر مع no وon وoff وyes وy وn. قائمة الدول [NO, SE, DK] تتحول بصمت إلى [false, SE, DK]. شدّد YAML 1.2 من ذلك (فقط true وfalse يُعتبران قيمتين منطقيتين)، لكن كثيراً من المحللات أبقت على سلوك 1.1، لذا فالحل هو وضعها بين علامتي اقتباس: "NO". يعرض لك هذا المحلل بدقة كيف فُسِّرت كل قيمة عددية (scalar).

ما هي الأدوات والتنسيقات التي تستخدم YAML؟

يسيطر YAML على مجالات العمليات وتهيئة CI: ملفات Kubernetes manifests وDocker Compose وGitHub Actions وGitLab CI وAnsible playbooks ومستندات OpenAPI كلها YAML. الامتداران .yml و.yaml متكافئان في الاستخدام، مع كون .yaml هو الامتداد القياسي وفق المواصفة.

كيف تعمل السلاسل النصية متعددة الأسطر في YAML؟

استخدم | لكتلة حرفية (literal block) حيث تُحفظ فواصل الأسطر كما هي (مثالية للكود)، و> لكتلة مطوية (folded block) حيث تتحول فواصل الأسطر إلى مسافات وتنضغط الفقرات. تقتطع الكتلتان سطراً جديداً واحداً في النهاية افتراضياً؛ وتضبط مؤشرات chomping ذلك: |- يزيل جميع أسطر الإرجاع النهائية، بينما يحافظ + على كلٍّ منها. تحدد المسافة البادئة أسفل المفتاح حدود الكتلة.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}