YAML to JSON Converter
Fast and secure YAML to JSON conversion. Perfect for configuration files and data analysis.
Fast and secure YAML to JSON conversion. Perfect for configuration files and data analysis.
YAML وJSON هما تنسيقان مرتبطان ارتباطًا وثيقًا - JSON من الناحية الفنية مجموعة فرعية صارمة من YAML 1.2 - وعادةً ما يكون التحويل بينهما سهلاً. يضيف YAML ميزات صديقة للإنسان يفتقر إليها JSON: التعليقات، والسلاسل متعددة الأسطر دون الهروب، والمراجع المرساة والاسم المستعار، والاقتباس الأكثر مرونة، والبنية القائمة على المسافة البادئة التي تشبه تخطيط المستند الطبيعي. وهذا يجعل YAML هو الاختيار الشائع لملفات التكوين (بيانات Kubernetes، وسير عمل GitHub Actions، وDocker Compose) بينما يهيمن JSON على حمولات API.
عادةً ما يعني تحويل YAML إلى JSON التخلي عن إضافات YAML الصديقة للإنسان مقابل تنسيق تقوم الأجهزة بتحليله بسهولة أكبر، وهي اللغة المشتركة لواجهات برمجة تطبيقات HTTP. تم إسقاط التعليقات (JSON لا يوجد بها أي تعليقات). يتم تحليل مراجع الارتساء إلى قيمها المرجعية. تنهار السلاسل متعددة الأسطر إلى سلاسل JSON القياسية مع الأسطر الجديدة المضمنة.
يقوم هذا المحول بتحليل YAML باستخدام js-yaml، مكتبة YAML الأكثر استخدامًا في JavaScript. يتم إنشاء الإخراج باستخدام JSON.stringify مع مسافة بادئة اختيارية. يتعامل التحويل مع جميع قواعد YAML 1.2 القياسية بما في ذلك نمط التدفق، ونمط الكتلة، والكميات القياسية، والتسلسلات، والتعيينات، والمثبتات، والأسماء المستعارة، وأنواع العلامات القياسية.
تتوقع معظم واجهات برمجة التطبيقات والعديد من بيئات البرمجة استخدام JSON. يجب تحويل ملفات التكوين المكتوبة بلغة YAML إلى JSON عند التكامل مع التعليمات البرمجية أو الخدمات التي تقبل JSON فقط. تعد أدوات JSON أيضًا أكثر وفرة: jq، ومسار JSON، ومخطط JSON، ونظام بيئي واسع من أدوات التحقق من الصحة والمحولات كلها تفترض مدخلات JSON.
JSON أيضًا لا لبس فيه بطرق ليست YAML. تخلق مرونة YAML مفاجآت في التحليل - سلاسل مثل تحليل "لا" كخطأ منطقي في YAML 1.1، وتحليل سلاسل الإصدار كعائمات، وأخطاء المسافة البادئة التي تنتج تغييرات هيكلية صامتة. يؤدي التحويل إلى JSON إلى تجميد البيانات إلى نموذج أقل غموضًا.
الصق YAML واحصل على JSON.
ينفذ js-yaml YAML 1.2 مع دعم اختياري لمراوغات YAML 1.1 (مشكلة "no"-as-false، الأرقام الثمانية بدون البادئة 0o). يُنتج المحلل اللغوي شجرة كائنات JavaScript باستخدام الأنواع الأصلية: الأرقام، والسلاسل، والقيم المنطقية، والقيمة الخالية، والمصفوفات، والكائنات العادية.
يقوم JSON.stringify بإجراء تسلسل لشجرة الكائن إلى JSON. المسافة البادئة الاختيارية تنتج مخرجات مطبوعة بشكل جميل؛ بدونها تكون النتيجة JSON مضغوطة ذات سطر واحد. القيم الخاصة (NaN، Infinity، غير محددة) ليست صالحة لـ JSON؛ يقوم المحول بإجبارهم على أن يصبحوا خاليين في حالة وجودهم.
حالات الحافة: تصبح الطوابع الزمنية لـ YAML سلاسل ISO-8601 في JSON. تصبح البيانات الثنائية YAML (المشفرة Base64) سلسلة. يتم تحليل نقاط الارتساء والأسماء المستعارة إلى قيم مكررة في JSON، حيث لا يحتوي JSON على بنية مرجعية.