JSON to YAML Converter
Convert JSON structure to clean YAML format. Ideal for Kubernetes manifests and cloud configs.
Convert JSON structure to clean YAML format. Ideal for Kubernetes manifests and cloud configs.
إن الانتقال من JSON إلى YAML يتعلق في الغالب بجعل البيانات أكثر قابلية للقراءة بالنسبة للبشر. يصف كلا التنسيقين نفس أنواع الهياكل - الكائنات/الخرائط، والمصفوفات/التسلسلات، والكميات القياسية - ولكن بناء جملة YAML القائم على المسافة البادئة، والاقتباس الاختياري، ودعم التعليقات يجعل من السهل المسح والتحرير يدويًا. ملفات التكوين هي حالة الاستخدام الأساسية: اختارت بيانات Kubernetes، وسير عمل CI، وكتب اللعب Ansible، وعشرات الأدوات الأخرى YAML على وجه التحديد لأن محرريها الأساسيين هم من البشر.
يستخدم هذا المحول js-yaml لإجراء تسلسل لكائن JSON الذي تم تحليله في YAML. تحافظ النتيجة على بنية البيانات تمامًا أثناء تطبيق اصطلاحات YAML: المسافة البادئة للتداخل، وقوائم المصفوفات، وأزواج القيمة الرئيسية لخصائص الكائن. تم تخفيف الاقتباس المزدوج الصارم لـ JSON؛ يتم فقط اقتباس السلاسل التي تحتوي على أحرف خاصة أو التي تبدو وكأنها أنواع أخرى في الإخراج.
التحويل هو الحفاظ على المعلومات باستثناء الحالات التي يضيف فيها YAML تعبيرًا لم يكن لدى JSON. لا يمكن إعادة بناء التعليقات (لم يكن لدى JSON أي تعليقات). من المحتمل أن تقوم مراجع الارتساء والاسم المستعار بضغط الهياكل المتكررة ولكن لا يتم إنشاؤها تلقائيًا؛ يقوم الإخراج بتوسيع جميع المراجع المضمنة.
يعد YAML أكثر قابلية للقراءة بشكل كبير من JSON بالنسبة لتكوين التحرير البشري. تحل المسافة البادئة محل تداخل الأقواس، وتكون علامات الاقتباس اختيارية للسلاسل البسيطة، ويمكن للتعليقات توثيق الإعدادات غير الواضحة. بالنسبة للملفات التي يحتفظ بها البشر - تكوين التطبيق، والبنية التحتية كرمز، وبناء خطوط الأنابيب - يكون YAML دائمًا هو تنسيق الوجهة الصحيح.
أدوات البنية التحتية الحديثة تفضل بأغلبية ساحقة YAML. Kubernetes، ومخططات Helm، وAnsible، وGitHub Actions، وGitLab CI، وDocker Compose، والعديد من الأدوات الأخرى تفضل أو تتطلب YAML. يعد تحويل صادرات JSON من نظام إلى تكوين YAML لنظام آخر خطوة تكامل روتينية.
الصق JSON واحصل على YAML.
تعمل وظيفة التفريغ الخاصة بـ js-yaml على توجيه شجرة كائنات JavaScript وتصدر YAML باستخدام تنسيق قابل للتكوين. عمق المسافة البادئة، وعرض الخط، وعتبة نمط التدفق، ومعالجة عروض الأسعار كلها معلمات. تنتج الإعدادات الافتراضية YAML على شكل كتلة مع مسافة بادئة بمسافتين، وهو التقليد الأكثر شيوعًا.
يتبع اقتباس السلسلة قواعد YAML: يتم اقتباس السلاسل التي تبدو وكأنها أنواع أخرى (أرقام، منطقية، فارغة، تواريخ) لفرض تفسير السلسلة؛ السلاسل التي تحتوي على أحرف خاصة (النقطتان، التجزئة، الشرطات البادئة) يتم اقتباسها؛ يتم ترك سلاسل أبجدية بسيطة بدون علامات اقتباس.
الإخراج متوافق مع YAML 1.2 ويتم توزيعه بشكل واضح باستخدام js-yaml وPyYAML ومكتبات YAML الرئيسية الأخرى. تحافظ الرحلات ذهابًا وإيابًا (JSON → YAML → JSON) على البيانات، على الرغم من أن تمثيل YAML يختار التنسيق الأساسي الذي قد يختلف عن التنسيق المكتوب بخط اليد.