كيفية استخدام محوّل JSON إلى YAML
- الصق مستند JSON.
- اختر المسافة البادئة والنمط الكتلي أو الانسيابي وما إذا كنت تريد اقتباس جميع السلاسل النصية.
- انسخ YAML إلى ملف التعريف أو خط الأنابيب أو ملف OpenAPI الخاص بك.
مزايا محوّل JSON إلى YAML
- تحويل أي قيمة JSON إلى YAML 1.2
- اقتباس القيم الملتبسة (true و0123 وnull والتواريخ) للحفاظ على أنواعها
- نمط المجموعات الكتلي (block) أو الانسيابي (flow)، ومسافة بادئة بمسافتين أو 4 مسافات
- إخراج السلاسل النصية متعددة الأسطر كقيم كتلية حرفية (literal block scalars)
- اقتباس اختياري لجميع السلاسل النصية
- تحويل فوري مع إمكانية النسخ والتنزيل
مثال على محوّل JSON إلى YAML
من JSON إلى ملف تعريف بنمط Kubernetes
الإدخال:
{"apiVersion":"v1","kind":"ConfigMap","data":{"LOG_LEVEL":"info","DEBUG":"true"}}النتيجة:
apiVersion: v1
kind: ConfigMap
data:
LOG_LEVEL: info
DEBUG: "true"الأسئلة الشائعة حول محوّل JSON إلى YAML
هل تبقى السلاسل النصية مثل "true" أو "0123" سلاسل نصية؟
نعم. القيم التي كان YAML سيفسّرها كقيم منطقية أو أرقام أو null أو تواريخ تُقتبس تلقائياً بحيث يبقى نوعها محفوظاً عند التحويل ذهاباً وإياباً.
ما الفرق بين النمط الكتلي والنمط الانسيابي؟
يضع النمط الكتلي كل عنصر قائمة وكل مفتاح في سطر مستقل (المظهر المعتاد في Kubernetes/CI). أما النمط الانسيابي فيكتب المجموعات القصيرة في السطر نفسه، مثل [a, b] و{x: 1}.
هل السلاسل النصية متعددة الأسطر مدعومة؟
تُخرج السلاسل النصية التي تحتوي على أسطر جديدة كقيم كتلية حرفية (|)، ما يحافظ على قابليتها للقراءة ودقتها.
هل ناتج YAML صالح وفق YAML 1.2؟
نعم. يستخدم المحوّل مخطط YAML 1.2 الأساسي (core schema)، وهو ما تتوقعه أدوات Kubernetes وGitHub Actions وDocker Compose وOpenAPI.
ملاحظات تقنية
يعتمد التسلسل على حزمة yaml (2.x) مع مخطط YAML 1.2 الأساسي وقيمة lineWidth تساوي 0، فلا تُطوى السلاسل الطويلة على عدة أسطر أبداً. وتُحاط القيم بعلامات اقتباس مزدوجة فقط حيث يسيء 1.2 قراءتها — مثل "true" و"null" و"0123" و"1e3" والسلاسل الفارغة والقيم التي تبدأ بمؤشر مثل # أو & أو * أو [ أو تحتوي على ": ". ولأن 1.2 يقرأ yes وno وon وoff والتواريخ بصيغة ISO كسلاسل عادية، تبقى دون اقتباس؛ بينما يفسّرها مستهلكو YAML 1.1 مثل PyYAML بشكل مختلف.
تتحوّل السلاسل التي تحتوي على أسطر جديدة إلى كتل حرفية (| أو |- بحسب وجود سطر جديد في النهاية)، وتُزاح التسلسلات الكتلية تحت مفتاحها الأب، ولا تُخرج المراسي أو الأسماء المستعارة إطلاقاً. وينطبق «نمط التدفق» على كل مجموعة بما فيها الجذر، فينطوي المستند كله في سطر { … } واحد. أما «اقتباس كل السلاسل» فيمسّ القيم وحدها — تبقى المفاتيح عادية ما لم تحتج إلى اقتباس — ولأن المدخل يمرّ أولاً عبر JSON.parse، تكون الأعداد الصحيحة فوق 2^53 − 1 مقرّبة مسبقاً.