تحويل TOML إلى JSON
يحوّل تنسيق ملفات إعدادات TOML إلى JSON إعدادات خصائص سهلة القراءة للبشر إلى كائن بيانات صارم يمكن لتطبيقات الويب تحليله فورًا.
مقارنة التنسيقات والمواصفات التقنية
| المواصفات | TOML | JSON |
|---|---|---|
| نوع MIME | application/ | application/ |
| النوع | ملف إعدادات بالحد الأدنى | كائن بيانات منظّم |
| الضغط | بلا (نص UTF-8) | بلا (تدفق نصي) |
| المواصفات القياسية | مواصفات TOML v1.0.0 | IETF RFC 8259 / ECMA-404 |
| رأس البايتات السحرية (Magic Bytes) | [section] key = "value" | 7B (\{) or 5B (\[) JSON root delimiter |
نظرة عامة على التنسيق والاستخدامات
يُستخدم كل من TOML وJSON لتخزين الإعدادات، لكن لكل منهما دور مختلف في مشروع البرمجيات. غالبًا ما يكتب المطورون ملفات الإعدادات بتنسيق TOML لأنه يدعم التعليقات ويسهل تحريره يدويًا. ومع ذلك، تفضّل متصفحات الويب والعديد من مكتبات البرمجة JSON لأنه معيار عالمي لتبادل البيانات. عندما تحتاج أداة بناء أو مسار نشر إلى قراءة الإعدادات المحلية، يسد التحويل من TOML إلى JSON الفجوة. على سبيل المثال، تقبل مولدات المواقع الثابتة الحديثة غالبًا مدخلات TOML لتفضيلات المستخدم، لكنها تتطلب مخرجات JSON لتمرير البيانات إلى واجهات JavaScript الأمامية. ويسمح تحويل بنية الملف للبرامج النصية الآلية باستخدام قيم الإعدادات دون الحاجة إلى محلل TOML متخصص.
المواصفات التقنية وتحليل الترميز (Codec)
يرمز TOML إلى Tom's Obvious, Minimal Language، ويستخدم نوع MIME application/toml. وهو يستخدم نص UTF-8 عاديًا يتضمن أزواج المفاتيح والقيم والأقسام وأنواع التواريخ الأصلية. ويرمز JSON إلى JavaScript Object Notation، ويستخدم نوع MIME application/json. لا يستخدم أي من التنسيقين الضغط افتراضيًا، لذا فكلاهما تدفق نصي خام. ولا يعتمد TOML ولا JSON على ترويسات بايت مميّزة. بل يعتمدان على علامات بنيوية، مثل الأقواس المعقوفة في JSON أو ترويسات الأقسام المحاطة بأقواس في TOML، للإشارة إلى التنسيق للمحللات. تقرأ عملية التحويل تسلسل المفاتيح والقيم في TOML وتحوله مباشرةً إلى كائنات ومصفوفات JSON القياسية.
توافق أنظمة التشغيل والمتصفحات
TOML وJSON تنسيقان نصيان، لكن دعم التطبيق يختلف. تحلل المتصفحات JSON عبر JavaScript، بينما يتطلب TOML محللًا.
معلومات مفيدة
ضع في اعتبارك أن TOML يدعم التعليقات باستخدام علامة الرقم (#)، بينما لا تدعمها صيغة JSON القياسية. وتُحذف أي تعليقات في ملف TOML المصدر أثناء التحويل إلى JSON.
الأسئلة الشائعة
كيف تقوم بتحويل إعدادات TOML إلى إعدادات JSON دون فقدان الجودة؟
هذا التحويل لا يؤدي إلى فقدان البيانات في المفاتيح والقيم، لأن كلا التنسيقين يمثل بيانات إعدادات نصية. ولا يحدث ضغط للبيانات، لذا تنتقل جميع المفاتيح والنصوص والأرقام والقيم المنطقية مباشرةً إلى البنية الجديدة دون فقدان الدقة.
ما الفرق بين إعدادات TOML وإعدادات JSON؟
صُمم TOML ليكون سهل القراءة للبشر، ويتضمن ميزات مثل دعم التعليقات وأنواع التواريخ الأصلية. وصُمم JSON للتحليل الآلي والنقل عبر الويب، ويستخدم بنية صارمة من الأقواس المعقوفة المتداخلة والمفاتيح المحاطة بعلامتي اقتباس مزدوجتين، ولا يسمح بالتعليقات.