محول مجاني

YAML to JSON Converter

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 القياسية بما في ذلك نمط التدفق، ونمط الكتلة، والكميات القياسية، والتسلسلات، والتعيينات، والمثبتات، والأسماء المستعارة، وأنواع العلامات القياسية.

لماذا تحويل YAML إلى JSON

تتوقع معظم واجهات برمجة التطبيقات والعديد من بيئات البرمجة استخدام JSON. يجب تحويل ملفات التكوين المكتوبة بلغة YAML إلى JSON عند التكامل مع التعليمات البرمجية أو الخدمات التي تقبل JSON فقط. تعد أدوات JSON أيضًا أكثر وفرة: jq، ومسار JSON، ومخطط JSON، ونظام بيئي واسع من أدوات التحقق من الصحة والمحولات كلها تفترض مدخلات JSON.

JSON أيضًا لا لبس فيه بطرق ليست YAML. تخلق مرونة YAML مفاجآت في التحليل - سلاسل مثل تحليل "لا" كخطأ منطقي في YAML 1.1، وتحليل سلاسل الإصدار كعائمات، وأخطاء المسافة البادئة التي تنتج تغييرات هيكلية صامتة. يؤدي التحويل إلى JSON إلى تجميد البيانات إلى نموذج أقل غموضًا.

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

الصق YAML واحصل على JSON.

  1. أضف YAML الخاص بك: الصق نص YAML في منطقة الإدخال أو قم بإسقاط ملف .yml/.yaml. يقبل js-yaml بناء جملة YAML 1.2 الكامل.
  2. تحويل: يقوم js-yaml بتوزيع YAML إلى كائن JavaScript، ويقوم JSON.stringify بتسلسله بمسافة بادئة ذات مسافتين. يتم إسقاط التعليقات، وحل نقاط الارتساء، وتحويل أنواع YAML الخاصة (الطوابع الزمنية، والبيانات الثنائية) إلى تمثيلات متوافقة مع JSON.
  3. قم بمراجعة النتيجة: تأكد من أن بنية JSON تطابق ما توقعته. قارن مع مصدر YAML لتحديد أي أماكن أنتجت فيها كتابة YAML الفضفاضة قيم JSON غير متوقعة.
  4. تنزيل أو نسخ: احفظه بتنسيق .json أو انسخه إلى الحافظة. الإخراج صالح للاستهلاك JSON بواسطة أي محلل 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 على بنية مرجعية.

أفضل الممارسات

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

هل يؤدي تحويل YAML إلى JSON إلى تغيير المحتوى؟
يتم الحفاظ على المحتوى بأكبر قدر ممكن من الدقة. ومع ذلك، قد لا تحتوي بعض الميزات الخاصة بالتنسيق على مكافئات مباشرة، لذلك يمكن أن تحدث اختلافات بسيطة في التنسيق.
لماذا تحويل البيانات إلى تنسيق JSON؟
JSON هو تنسيق البيانات القياسي لواجهات برمجة تطبيقات الويب وتطبيقات JavaScript. إنها قابلة للقراءة من قبل الإنسان، ومدعومة على نطاق واسع بلغات البرمجة، ولها بناء جملة أبسط من XML.
هل يتعامل المحول مع بنيات YAML المتداخلة أو المعقدة؟
نعم. تقوم الأداة بتحليل الكائنات المتداخلة والمصفوفات وجميع أنواع بيانات YAML القياسية بشكل صحيح، مع الحفاظ على بنية البيانات الكاملة في مخرجات JSON.
هل هذا التحويل آمن وخاص؟
نعم. تتم جميع عمليات المعالجة محليًا في متصفحك. لا تترك بياناتك جهازك أبدًا - لا يوجد تحميل على الخادم، ولا معالجة سحابية، ولا جمع بيانات.
هل ستكون رحلتي ذهابًا وإيابًا في YAML نظيفة؟
نعم من الناحية الهيكلية إذا قمت بإعادة إرسال JSON مرة أخرى إلى YAML. يتم فقدان التعليقات وبنية المرساة؛ يتم الحفاظ على القيم الخام.
هل يتم تحميل بياناتي على الخادم؟
رقم js-yaml يعمل في متصفحك.
ما هو الحد الأقصى للحجم؟
ما يصل إلى 50 ميغابايت. يعالج js-yaml ملفات التكوين النموذجية على الفور؛ قد يستغرق تحليل YAML الكبير جدًا وقتًا ملحوظًا.
هل يدعم YAML متعدد المستندات؟
يدعم YAML مستندات متعددة في ملف واحد مفصولة بـ ---. يقوم المحول بمعالجة المستند الأول بشكل افتراضي؛ للتعامل مع المستندات المتعددة، قم بتقسيم YAML أولاً.