ForHosting KIT · البيانات والملفات: تحويل وتنظيف

كيف تحوّل YAML إلى JSON والعكس؟

حوّل YAML إلى صيغة الأقواس المعقوفة التي تقرؤها التطبيقات أو بالعكس: في المثال يحتفظ قسم الخادم بالمضيف example.com والمنفذ 8080 متداخلين، ويبقى 8080 رقمًا. أما التعليقات التي لا تنتقل فيُبلَّغ عنها ولا تضيع بصمت. مجاني في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم

دون كسر الإزاحة

طريقتان لكتابة البيانات نفسها

صُمم YAML، الذي نُشر أول مرة سنة 2001، ليقرأه الناس ويعدّلوه بأيديهم: إزاحة بدل الأقواس، ومكان للتعليقات بجانب كل إعداد. أما صيغة الأقواس المعقوفة التي تقرؤها معظم التطبيقات فهي العكس: صارمة ومريحة للبرامج لكنها متعبة عند التعديل اليدوي. ملفات Kubernetes ومسارات GitHub Actions وملفات docker-compose كلها مكتوبة بـ YAML، ولا تستطيع لوحات المتابعة وأدوات الفحص ومحررات الإعداد المصممة للصيغة الأخرى قراءتها مباشرة. كما تبدأ إعدادات كثيرة بصيغة الأقواس وتحتاج إلى أن تصبح YAML عندما تصل إلى خط نشر لا يفهم غيرها.

ما الذي ينجو من التحويل وما الذي لا ينجو

تنتقل البنية وأنواع القيم كما هي. في المثال يحتفظ قسم الخادم بالمضيف example.com والمنفذ 8080 داخله، ويبقى المنفذ رقمًا والإعداد المفعّل صحيحًا. أما التعليقات فأمرها مختلف، إذ لا مكان لها في صيغة الأقواس، فلا تنتقل مع البيانات. وبدل أن تختفي دون كلمة، تُدرج في تقرير قصير مع بعض مراسي YAML التي لا تنجو أيضًا. ويُستنتج اتجاه التحويل مما تلصقه، أو تحدده بنفسك. احتفظ بملف YAML الأصلي إذا كانت تعليقاته مهمة لك.

الاستخدام من الصفحة مباشرة

تجري المعالجة داخل متصفحك: لا يغادر الكود جهازك، ولا حدّ لعدد المرات، ولا حاجة لتسجيل. تناسب ملفات تصل حتى 25 MB، وتعمل من الجوال بالطريقة نفسها التي تعمل بها من الحاسوب. يمكن تبديل اتجاه التحويل فورًا لمراجعة الملف من الصيغتين معًا دون إعادة لصق الكود من جديد.

مناسب لخطوط النشر الآلية

من يدير خط نشر آلي يحتاج تحويل ملفات إعداد بانتظام ضمن سكربت، لا لصقًا يدويًا كل مرة. يصلح هذا أيضًا لسكربت يولّد نسختين من الإعداد نفسه تلقائيًا: واحدة يقرؤها الإنسان وأخرى يقرؤها النظام، دون أي خطر من انحراف بينهما بمرور الوقت.

كيف تعرف الأداة أي صيغة أدخلتَ؟

تكتشف الصيغة تلقائيًا من بنية الكود الملصق، دون الحاجة لتحديدها يدويًا.

هل يمكن أن تكسر الإزاحة ملف YAML الناتج؟

لا، تُضبط الإزاحة تلقائيًا بقواعد ثابتة، فينتج ملف صحيح البنية من أول مرة.

هل يُرسل ملفي إلى خادم؟

لا، عند الاستخدام من هذه الصفحة تجري المعالجة داخل متصفحك فقط.

هل يعمل من الجوال؟

نعم، بالطريقة نفسها التي يعمل بها من الحاسوب.

ماذا يحدث لتعليقات YAML؟

لا مقابل لها في الصيغة الأخرى، لذا لا يمكن أن تنتقل مع البيانات. وبدل أن تختفي بصمت، يُبلَّغ عنها في تقرير قصير مع بعض المراسي التي لا تنجو من التحويل أيضًا.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/data/yaml-json

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/data/yaml-json \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"yaml":"a: 1","json":{"a":1}}'
{
  "yaml": "a: 1",
  "json": {
    "a": 1
  }
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "data.yaml_json",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

max_mb25
HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

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

لماذا يحتاج ملف الإعداد الواحد صيغتين

تفضّل أدوات مثل Docker Compose وKubernetes صيغة YAML لسهولة قراءتها البشرية، بينما تتوقع واجهات برمجية كثيرة وأنظمة أخرى JSON كصيغة تبادل قياسية. من يضبط خط نشر واحدًا يجد نفسه أحيانًا محتاجًا الصيغة نفسها بشكلين مختلفين: نسخة YAML للمطور الذي يعدّلها يدويًا، ونسخة JSON للنظام الذي يقرأها آليًا. هذا التحويل يحافظ على المطابقة التامة بين النسختين دون إعادة كتابة يدوية عرضة للخطأ.

خطر الإزاحة في YAML عند التحويل اليدوي

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

الاستخدام من الصفحة مباشرة

ألصق كود YAML أو JSON، شغّل الأداة، وانسخ النتيجة في الصيغة المقابلة أو نزّلها.

الأتمتة عبر الـAPI لخطوط النشر

نفس المحرك متاح عبر الـAPI بسعر ثابت قدره $0.002 للمستند الواحد، دون اشتراك شهري، مناسب لنظام تكامل مستمر يحوّل ملفات إعداد قبل كل نشر.

توليد ملف إعداد Kubernetes من نظام JSON

يولّد نظام داخلي في شركة الخليج الرقمية إعدادات بصيغة JSON، ويحوّلها فريق العمليات إلى YAML عبر الـAPI قبل تطبيقها في عنقود Kubernetes.

مراجعة ملف Docker Compose كـJSON

يحوّل خالد العتيبي ملف Docker Compose بصيغة YAML إلى JSON لمراجعته ببرنامج مقارنة يتعامل مع JSON فقط، ثم يعيده YAML بعد التعديل.

توثيق إعداد تطبيق للفريق

يوثّق مطوّر في مؤسسة النخيل للمقاولات إعداد تطبيق داخلي بصيغة YAML سهلة القراءة، بعد أن كان محفوظًا بصيغة JSON مضغوطة لا يفهمها زملاؤه بسهولة.

هل الأداة مجانية؟

نعم، داخل المتصفح بلا حدّ وبلا تسجيل. المدفوع فقط عبر الـAPI بسعر $0.002 للمستند.

هل تدعم الأداة التعليقات داخل YAML؟

تُحذف التعليقات عند التحويل إلى JSON لأن هذه الصيغة لا تدعمها، وهو سلوك متوقع لا خطأ في الأداة.

ما أقصى حجم ملف مدعوم؟

25 ميغابايت في الطلب الواحد.

اطّلع على توثيق KIT الكامل ←