تحويل JSON إلى YAML
أعد كتابة JSON بصيغة YAML يسهل على الناس قراءتها ومراجعتها والتعليق عليها. ارفع ملفات .json واحصل على ملفات .yaml بمسافات بادئة، بالمفاتيح والقيم والترتيب نفسها، جاهزة للإضافة إلى المستودع.
محوّل البيانات
أو أفلت ملفات CSV, TSV, TXT … هنا ·
الحد الأقصى 95 MB لكل ملف· حتى 20 ملفًا· تُحذف بعد 30 دقيقة
تُعالج الملفات على خوادمنا وتُحذف بعد 30 دقيقة.
الحرف الذي يفصل الأعمدة في ملفات CSV والنصوص، للقراءة والكتابة معًا. الاكتشاف التلقائي يحدده من المدخلات ويكتب الفواصل.
يعمل UTF-8 مع جميع اللغات. اختر UTF-8 with BOM إذا عرض Excel على Windows الحروف المشكولة أو الآسيوية بشكل مشوّه عند فتح ملف CSV.
لمدخلات Excel وODS وNumbers: حوّل الورقة الأولى فقط أو كل الأوراق (ملف CSV لكل ورقة داخل ZIP، أو مفتاح JSON لكل ورقة).
اسم تبويب الورقة في جدول البيانات الجديد، بحد أقصى 31 حرفًا.
مصفوفة كائنات تستخدم أسماء الأعمدة مفاتيح لكل صف؛ ومصفوفة مصفوفات أكثر إحكامًا وتُبقي الترويسة كأول مصفوفة.
اسم العنصر الخارجي الذي يضم كل الصفوف؛ ويصبح كل صف عنصر <row> داخله.
يُستخدم في عبارتي CREATE TABLE وINSERT. حروف وأرقام وشرطات سفلية فقط.
يختلف اقتباس الأسماء وأنواع الأعمدة قليلًا بين قواعد البيانات؛ اختر القاعدة التي ستستورد إليها.
أعد كتابة خلايا التاريخ بصيغة واحدة. صيغة ISO (2026-10-18) هي الأكثر أمانًا لقواعد البيانات والبرمجة؛ وخيار الإبقاء يتركها كما وردت في المصدر.
طريقة استخدام هذه الأداة
- 1
أضف ملفات JSON
ارفع ردود API أو الإعدادات المصدَّرة أو ملفات manifest المولّدة بصيغة .json، حتى 20 ملفًا وبحجم أقصاه 95 MB لكل ملف. يجب أن يحتوي كل ملف على قيمة JSON واحدة صالحة.
- 2
أبقِ الإعدادات الافتراضية
الصيغة YAML محددة مسبقًا ضمن التحويل إلى. لا يلزم تغيير أي شيء آخر لملف الإعدادات؛ يستخدم الناتج مسافتين للإزاحة.
- 3
حوّل الملفات وأضفها إلى المستودع
اضغط تحويل إلى YAML، ثم نزّل ملفات .yaml، وأضف التعليقات حيث سيحتاجها القارئ التالي، ثم نفّذ commit.
كيف أحوّل JSON إلى YAML؟
ارفع ملف .json واضغط تحويل إلى YAML. تتحول الكائنات إلى كتل key: value بإزاحة، والمصفوفات إلى قوائم بشرطات، وتحتفظ السلاسل التي قد يسيء YAML قراءتها بعلامات اقتباسها.
لماذا تحويل JSON إلى YAML في ملفات الإعدادات
معظم JSON تنتجه البرمجيات: رد API أو تصدير إعدادات أو ناتج مولّد. ومعظم YAML يتولى البشر صيانته. يمثل التحويل عادةً اللحظة التي تتوقف فيها البيانات عن كونها ناتج آلة وتصبح ملكًا لفريق، مثل ملف نشر manifest محفوظ في Git أو خط CI أو مجموعة متغيرات Ansible.
حالة نموذجية: تستدعي API سحابيًا فتحصل على وصف JSON من 200 سطر لمورد، وتريد حفظه كشيفرة بنية تحتية. يمنحك التحويل ملفًا بلا أقواس معقوفة وفواصل، يعطي فيه تغيير سطر واحد فرقًا من سطر واحد، ويمكنك شرح القيم الغريبة في التعليقات. وينطبق الأمر نفسه على بيانات الاختبار وملفات الترجمة التي يعدّلها غير المطورين. وإن كنت تحتاج جدولًا مسطحًا لجدول بيانات أو تقرير، فـتحويل JSON إلى CSV أنسب.
أدوات تستخدم ملفات إعدادات بصيغة YAML
| الجهة | المتطلب | المصدر |
|---|---|---|
| GitHub Actions | توجد سير العمل في .github/workflows كملفات .yml أو .yaml | وثائق GitHub |
| GitLab CI/CD | يُعرَّف خط المعالجة في .gitlab-ci.yml في جذر المستودع | وثائق GitLab |
| Docker Compose | تُوصف الخدمات في compose.yaml (سابقًا docker-compose.yml) | وثائق Docker |
| Ansible | تُكتب playbooks وملفات المتغيرات بصيغة YAML | وثائق Ansible |
| Kubernetes | تقبل ملفات manifest صيغتي JSON وYAML؛ وتستخدم الوثائق ومخططات Helm صيغة YAML | Kubernetes |
مثال على تحويل JSON إلى YAML بقيم معقدة
name: api version: "1.10" debug: false tags: - web - eu country: "NO" # بين علامتي اقتباس حتى لا تُقرأ قيمة منطقية
ما يقدمه YAML
- تعليقات باستخدام #
- فروق أقصر في مراجعة الشيفرة
- لا أقواس معقوفة ولا فواصل ولا علامات اقتباس في معظم الأسطر
- نص متعدد الأسطر باستخدام كتل | النصية
ما يجب الانتباه إليه
- الإزاحة ذات معنى، لذا قد تغيّر مسافة زائدة البنية
- لا يُسمح بعلامات Tab للإزاحة
- قد تُقرأ السلاسل غير المقتبسة على أنها أرقام أو قيم منطقية
- محللات أبطأ وأقل توحيدًا من محللات JSON
يوضح المثال لماذا لا يكفي استبدال الأقواس المعقوفة استبدالًا بسيطًا. الإصدار 1.10 سلسلة في JSON؛ ولو كُتب في YAML دون اقتباس لقُرئ على أنه الرقم 1.1. أما NO، رمز ISO للنرويج، فستقرؤه محللات YAML 1.1 مثل PyYAML على أنه false. يحتفظ كلاهما بعلامات الاقتباس، بينما تبقى الأرقام والقيم المنطقية الحقيقية دونها.
مقارنة بين JSON و YAML
JSON
ترميز كائنات JavaScript (JSON)
JSON تنسيق نصي خفيف للبيانات المنظمة، شاعه Douglas Crockford في أوائل الألفية، واعتُمد في RFC 8259 وECMA-404. يمثّل الكائنات والمصفوفات والنصوص والأرقام والقيم المنطقية وnull بصياغة بسيطة مقروءة. وهو التنسيق الافتراضي لواجهات الويب البرمجية وملفات الإعداد وتبادل البيانات بين التطبيقات في معظم لغات البرمجة. لا يتضمن تعليقات ولا تواريخ ولا مخططات، ويصعب قراءة الملفات الكبيرة المتداخلة دون عارض.
- الضغط
- –
- الشفافية
- –
- الحركة
- –
- سنة الظهور
- 2001 · Douglas Crockford
YAML
YAML
YAML ("YAML Ain't Markup Language") تنسيق بيانات سهل القراءة للبشر صدر أول مرة عام 2001. يعتمد على المسافات البادئة بدل الأقواس ويدعم التعليقات وهو مجموعة شاملة لـ JSON. يُستخدم على نطاق واسع للإعدادات في Docker Compose وKubernetes وGitHub Actions وتطبيقات كثيرة. اعتماده على المسافات البيضاء يجعله سهل الكسر بمسافة واحدة في غير موضعها، وقد تُفسَّر بعض القيم مثل "no" أو التواريخ بشكل غير متوقع.
- الضغط
- –
- الشفافية
- –
- الحركة
- –
- سنة الظهور
- 2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
يحوّل الناس JSON إلى YAML عندما يجب أن تصبح بيانات مولّدة أو واردة من API ملف إعدادات يتولى البشر صيانته ومراجعته في pull requests وإضافة التعليقات عليه.
أسئلة حول تحويل JSON إلى YAML
هل JSON صالح أصلًا بوصفه YAML؟
في YAML 1.2 نعم: كُتب إصدار 2009 بحيث يكون كل مستند JSON مستند YAML أيضًا. يمكنك لصق JSON في ملف .yaml وستقبله معظم الأدوات. لكن التحويل يخدم سهولة القراءة: النمط الكتلي دون أقواس معقوفة وعلامات اقتباس وفواصل هو ما يتوقعه المراجعون والمشرف التالي على الملف.
لماذا تظهر بعض القيم بين علامات اقتباس في YAML؟
لأن YAML سيقرؤها دون علامات اقتباس على أنها نوع آخر. فسلسلة إصدار مثل 1.10 ستصبح الرقم 1.1، وقد تتحول yes أو off إلى قيم منطقية في المحللات الأقدم. السلاسل التي تشبه الأرقام أو التواريخ أو القيم المنطقية تحتاج إلى علامات اقتباس لتبقى سلاسل، لذلك يحتفظ بها التحويل الدقيق.
هل يمكنني إضافة تعليقات بعد التحويل؟
نعم، وهذا سبب شائع للتحويل. اكتب # ثم ملاحظتك في نهاية السطر أو في سطر مستقل. لا يتيح JSON شرح سبب ضبط قيمة ما، أما YAML فيتيح ذلك، مما يسهّل المراجعات وتسليم العمل.
لماذا يفشل ملف YAML بخطأ حرف الجدولة (Tab)؟
تمنع مواصفات YAML استخدام علامات الجدولة (Tab) للإزاحة؛ المسافات وحدها معتمدة. يكتب المحوّل مسافات، لكن محررًا مضبوطًا على إدراج Tab قد يُفسد الملف عند التعديل التالي. اضبط محررك على استخدام المسافات في ملفات .yaml.
هل سيقبل Kubernetes ملف البيان المحوَّل؟
يقرأ kubectl كلًّا من JSON وYAML، فالبيانات واحدة في الحالتين؛ ونسخة YAML هي ما تستخدمه معظم الوثائق ومخططات Helm ومراجعات الشيفرة. وإذا احتجت لاحقًا إلى JSON لاستخدامه مع jq أو استدعاء API، فإن تحويل YAML إلى JSON يعكس العملية.
- تحويل YAML إلى JSONحوّل ملفات .yaml و.yml إلى JSON للواجهات البرمجية وأدوات التحقق التي لا تقرأ إلا JSON. تنسيق مقروء افتراضيًا، 20 ملفًا معًا، حذف بعد 30 دقيقة.
- تحويل JSON إلى XMLحوّل JSON إلى XML اون لاين: المفاتيح تصبح عناصر، والمصفوفات عناصر متكررة، داخل وسم جذر تختار اسمه. مخرجات منسقة، دون حساب.
- تحويل JSON إلى CSVحوّل JSON أو JSON Lines إلى CSV: صف لكل كائن، وتسطيح الحقول المتداخلة إلى أعمدة، وUTF-8 مع BOM ليعرض Excel الحروف بشكل صحيح. 20 ملفًا معًا.
- تحويل XML إلى JSONحوّل XML إلى JSON مقروء: السمات تصبح مفاتيح @، والوسوم المتكررة مصفوفات، والنص يبقى كما هو. لاستجابات SOAP والخلاصات والتصديرات القديمة.
- تحويل JSON إلى Base64رمّز ملف JSON في سطر Base64 واحد لأسرار Kubernetes ومتغيرات CI وطلبات API والرموز. قابل للعكس بايتًا ببايت، مع Data URI اختياري.
- تحويل JSON إلى Excelحوّل JSON أو JSON Lines إلى ورقة Excel بصيغة XLSX: المفاتيح تصبح عناوين أعمدة وكل سجل يصبح صفًا. حتى 20 ملفًا دفعة واحدة دون حساب.