من YAML إلى JSON وبالعكس — قواعد الأنواع ومحليًا

حوّل YAML إلى JSON أو JSON إلى YAML داخل المتصفح. الخطوات: اختر الاتجاه، الصق الإعداد، وفعّل الأنواع الآمنة لـ JSON عند الحاجة، ثم انسخ أو نزّل. المستندات المتعددة المفصولة بـ --- تصبح مصفوفة JSON. مثال: خريطة خدمة قصيرة إلى JSON بمسافات بادئة لعميل API — اللصق يبقى محليًا.


      

مسار العمل

اختر YAML → JSON أو العكس. يعمل التحويل عبر js-yaml في هذا التبويب. التيارات متعددة المستندات المفصولة بـ --- تصبح مصفوفة JSON؛ مستند واحد يبقى قيمة JSON واحدة. أخطاء YAML تعرض السطر والعمود عندما يوفّر المحلّل علامة.

ما تتوقعه من القواعد

ما الذي تتوقعه عند التحويل: كيف تُحدَّد أنواع القيم غير المقتبسة، وكيف يُطابَق YAML متعدد المستندات مع JSON، وأين قد تفقد الرحلة ذهابًا وإيابًا التعليقات أو التنسيق.

  • الأنواع: مع مخطط DEFAULT قد تتحول yes/no/on/off غير المقتبسة وبعض القيم الشبيهة بالتاريخ إلى boolean أو أنواع أخرى. المخطط الآمن لـ JSON يبقي القيم غير المقتبسة كنصوص ما لم تُكتب بنوع صريح.
  • multi-doc: loadAll — مستند واحد → قيمة JSON؛ اثنان فأكثر → مصفوفة. لا نحتفظ بالمستند الأول بصمت ونتجاهل الباقي.
  • فقدان عند الذهاب والإياب: التعليقات تختفي (JSON بلا تعليقات)؛ المراسي/الأسماء المستعارة تُوسَّع إلى قيم مكررة؛ ترتيب المفاتيح والأسلوب قد يتغير بعد dump.
  • الخصوصية: اللصق لا يُرفع. جلب js-yaml من CDN يحمّل كود المكتبة فقط، لا نص إعدادك.

مثال

YAML `الاسم: تجريبي` مع قائمة `عناصر: [a, b]` يصبح JSON `{"الاسم":"تجريبي","عناصر":["a","b"]}`. JSON `{"title":"مرحبا","count":2}` يُفرَّغ إلى YAML بمسافات. حدّ: `flag: yes` غير المقتبس يصبح boolean true تحت DEFAULT؛ فعّل الأنواع الآمنة لـ JSON لإبقاء النص "yes".

متى يفيد

  • DevOps: حوّل YAML متعدد الموارد في Kubernetes (مفصول بـ ---) إلى مصفوفة JSON للسكربتات.
  • مطوّرون: أعد تشكيل حمولة API بصيغة JSON إلى YAML مقروء قبل تعديل الإعداد يدويًا.
  • خطوط بيانات / AI: اربط معاملات YAML المحرَّرة يدويًا بأدوات لا تقبل إلا JSON.

Frequently asked questions

كيف تُعالَج مستندات YAML المتعددة؟

المستندات المفصولة بـ --- تُحلَّل بـ loadAll. مستند واحد → قيمة JSON؛ اثنان فأكثر → مصفوفة. لا نحذف ما بعد الأول.

هل يغادر اللصق المتصفح؟

التحويل يبقى في التبويب. قد يخدم CDN مكتبة js-yaml؛ ذلك تنزيل كود فقط — ليس رفعًا لنص YAML أو JSON.

هل يصبح yes أو no غير المقتبس boolean؟

تحت مخطط js-yaml الافتراضي كثيرًا نعم — yes/no/on/off غير المقتبسة قد تصبح boolean. فعّل «أنواع آمنة لـ JSON» لإبقائها نصوصًا ما لم تُكتب بنوع صريح.

من أين تأتي أرقام أسطر الأخطاء؟

YAML غير الصالح يرفع علامة محلّل بالسطر والعمود عند توفرها. JSON غير الصالح يُبلَّغ عبر JSON.parse بلا علامات بأسلوب YAML.

هل يمكن الذهاب والإياب بلا فقدان؟

لا. التعليقات لا تبقى في JSON. المراسي تتوسع إلى قيم مكررة. إعادة dump من JSON إلى YAML لا تستعيد التعليقات أو أسماء المراسي الأصلية.

References