NordVPN
SponsoredStrict no-logs VPN with 6,400+ servers in 111 countries. Threat Protection blocks ads, trackers, and malware while you work online.
Get NordVPN →الصق JSON على اليسار واحصل على YAML على اليمين، أو العكس. كلا اللوحتين قابلتان للتعديل في الوقت الفعلي وتتزامنان تلقائياً. يتضمن أزرار تنسيق JSON والتبديل والنسخ. تتم جميع عمليات التحويل في المتصفح دون إرسال أي بيانات إلى الخوادم.
ظهر JSON (تدوين كائنات JavaScript) على يد Douglas Crockford في مطلع الألفية الثالثة كصيغة خفيفة لتبادل البيانات مشتقة من صياغة كائنات JavaScript. قواعده الصارمة — علامات اقتباس مزدوجة، لا فواصل نهائية، لا تعليقات — تجعله لا غموض فيه وسهل التحليل في أي لغة. حلّ JSON محل XML سريعاً في واجهات برمجة التطبيقات على الويب نظراً لإيجازه وتوافقه الأصلي مع JavaScript.
أنشأ Clark Evans وIngy döt Net صيغة YAML عام 2001 بهدف أن تكون أكثر ودية للإنسان. يعد YAML 1.2 من الناحية التقنية مجموعة شاملة من JSON — فكل مستند JSON صالح هو YAML صالح — لكنه يضيف بنية قائمة على المسافة البادئة، والتعليقات، والنصوص متعددة الأسطر، واستنتاج النوع، مما يجعله أكثر ملاءمة للملفات التكوينية التي يحررها البشر.
يتفوق JSON حين تقرأ الآلات البيانات: واجهات REST API، وسجلات قواعد البيانات، والتواصل بين الخدمات، والتخزين المحلي. بساطته تعني أن كل لغة برمجة تقريباً تمتلك محلل JSON مدمج، والقواعد الصارمة تلغي الالتباس. إذا كان البرنامج هو المستهلك الرئيسي، فإن JSON هو الخيار الأمثل في الغالب.
يبرز YAML في الملفات التكوينية التي يحررها البشر: Docker Compose، ومناشير Kubernetes، وسير عمل GitHub Actions، وكتب تشغيل Ansible تستخدم YAML افتراضياً. تتيح التعليقات توثيقاً مضمّناً، والنصوص متعددة الأسطر تجعل القيم الطويلة مقروءة، وغياب الأقواس المعقوفة يجعل التكوين الهرمي أقل ازدحاماً.
حساسية YAML للمسافة البادئة هي المصدر الأكثر شيوعاً للأخطاء. خلافاً لأقواس JSON، مسافة واحدة في غير مكانها تغير البنية بالكامل. كما يقوم YAML باستنتاج الأنواع تلقائياً: الكلمة yes دون اقتباس تصبح القيمة المنطقية true، وقد يُفسَّر 0755 كرقم ثماني. يضع هذا المحوّل الاقتباسات حول السلاسل النصية التي قد تُسَاء تفسيرها للحفاظ على النوع الأصلي.
تمثّل الأحرف الخاصة تحدياً آخر. النقطتان متبوعتان بمسافة (: )، وعلامة الجنيه (#)، والأحرف الخاصة في بداية السلاسل يجب وضعها بين اقتباسات في YAML. يتعامل هذا المحوّل مع هذه الحالات تلقائياً، لكن الميزات المتقدمة في YAML كالمراسي والأسماء المستعارة والكتل متعددة الأسطر غير مدعومة وستظهر رسالة خطأ واضحة.
نعم. YAML 1.2 مجموعة شاملة صارمة من JSON، بمعنى أن كل مستند JSON صالح هو YAML صالح. العكس ليس صحيحاً دائماً: ميزات YAML كالتعليقات والمراسي وكتل القيم ليس لها مكافئ في JSON.
YAML شائع في الملفات التكوينية: Docker Compose، ومناشير Kubernetes، وسير عمل GitHub Actions، وكتب تشغيل Ansible. أسلوبه المقروء مناسب للملفات التي يحررها المطورون يدوياً.
يفوز YAML في الغالب للتكوين الذي يحرره البشر لأنه يدعم التعليقات وأقل ضوضاءً بصرياً. JSON أفضل للتكوين الذي تنشئه أو تستهلكه الآلات. كثير من الأدوات (ESLint، Prettier، tsconfig) تقبل كلا الصيغتين.
السلاسل التي تحتوي على نقطتين متبوعتين بمسافة، أو أحرف خاصة في البداية ({, [, #)، أو قيم تبدو كقيم منطقية أو أرقام يجب وضعها بين اقتباسات. علامات الاقتباس المفردة تعطّل جميع الهروب، وعلامات الاقتباس المزدوجة تستخدم هروباً بالشرطة المائلة العكسية مشابهاً لـ JSON. يضيف هذا المحوّل اقتباسات تلقائياً حيثما لزم.
للأنواع التي يدعمها JSON (سلاسل، أرقام، قيم منطقية، null، كائنات، مصفوفات) التحويل بدون خسائر. المشكلة الوحيدة المحتملة هي استنتاج نوع YAML للقيم دون اقتباس، لذا يضع المحوّل اقتباسات حول السلاسل التي قد تُسَاء تفسيرها.
استخدم مكتبة PyYAML: import yaml, json; data = yaml.safe_load(open('file.yaml')); print(json.dumps(data, indent=2)). تتجنب الدالة safe_load تنفيذ وسوم YAML التعسفية، وهو أمر مهم للأمان.
باستخدام حزمة js-yaml: const yaml = require('js-yaml'); const obj = JSON.parse(fs.readFileSync('file.json')); console.log(yaml.dump(obj)). لتجنب الاعتماديات، اكتب مسلسل YAML يدوياً — وهو ما يفعله هذا المحوّل.
يتجاهل هذا المحوّل عمداً ميزات YAML المتقدمة: المراسي (&مرساة)، والأسماء المستعارة (*اسم)، ووسوم الأنواع (!!int وغيرها)، وكتل القيم متعددة الأسطر (| و>)، وفاصلات المستندات (---). وتشمل هذه الميزات أقل من 5% من استخدامات YAML الفعلية. لهذه الحالات، استخدم مكتبة YAML كاملة.
Strict no-logs VPN with 6,400+ servers in 111 countries. Threat Protection blocks ads, trackers, and malware while you work online.
Get NordVPN →Managed cloud hosting for WordPress and web apps on DigitalOcean, Vultr, and AWS. Fast setup, no server headaches.
Try Cloudways →Hire freelancers for design, writing, dev, and marketing — or sell your own services. Millions of gigs at every budget.
Browse Fiverr →