تحويل JSON إلى TOML
يُسهّل تحويل ملفات إعدادات JSON إلى TOML تحريرها من قبل البشر، مع الحفاظ على جميع البنى الهرمية لبيانات المفاتيح والقيم.
مقارنة التنسيقات والمواصفات التقنية
| المواصفات | JSON | TOML |
|---|---|---|
| نوع MIME | application/ | application/ |
| النوع | كائن بيانات منظّم | ملف إعدادات بالحد الأدنى |
| الضغط | بلا (تدفق نصي) | بلا (نص UTF-8) |
| المواصفات القياسية | IETF RFC 8259 / ECMA-404 | مواصفات TOML v1.0.0 |
| رأس البايتات السحرية (Magic Bytes) | 7B (\{) or 5B (\[) JSON root delimiter | [section] key = "value" |
نظرة عامة على التنسيق والاستخدامات
غالبًا ما يخزّن المطورون إعدادات التطبيقات في ملفات JSON لأن متصفحات الويب وبيئات تشغيل JavaScript تحللها مباشرةً. لكن JSON يتطلب علامات ترقيم كثيرة، مثل الأقواس المعقوفة وعلامات الاقتباس المزدوجة، ما يجعل تحريره يدويًا شاقًا ومعرضًا لأخطاء الصياغة. ويحل تحويل هذه الملفات إلى TOML المشكلة باستخدام تنسيق أوضح يعتمد على تعيينات بسيطة للمفاتيح والقيم وترويسات صريحة للجداول. تفضّل أدوات البرمجيات، مثل أدوات سطر الأوامر المستندة إلى Rust وأنظمة البناء في Python ومديري الحزم الحديثة، تنسيق TOML لأنه أسهل قراءةً وكتابةً للبشر. وعند نقل إعدادات المشروع من بيئة تركز على الويب إلى سير عمل برمجة الأنظمة، يضمن تغيير التنسيق توافقًا أفضل مع أدوات مثل Cargo و Pyproject.toml.
المواصفات التقنية وتحليل الترميز (Codec)
يستخدم JSON Config نوع MIME application/json، ويمثل البيانات في تدفق نصي غير مضغوط يضم كائنات بيانات منظمة تستخدم الأقواس المعقوفة والمربعة. ويستخدم TOML Config نوع MIME application/toml، وهو تنسيق إعدادات نصي بترميز UTF-8 مصمم لتحويل البيانات بوضوح إلى جداول تجزئة. لا يستخدم أي من التنسيقين الضغط، أي إن الملفات تُخزّن كنص عادي. ولا يعتمد أي منهما على ترويسات بايت مميّزة؛ إذ يُتعرّف على التنسيق من ترميز النص وامتداد الملف، لا من أرقام ثنائية مميّزة.
توافق أنظمة التشغيل والمتصفحات
يعمل JSON مباشرةً في كل متصفح ويب حديث وبيئة تشغيل للخوادم. وصُمم TOML أساسًا لملفات الإعدادات التي تقرؤها تطبيقات الواجهة الخلفية وأدوات البناء، لا للتنفيذ المباشر في المتصفح. وكلا التنسيقين متوافقان تمامًا مع جميع أنظمة التشغيل الحديثة، بما في ذلك Windows و macOS و Linux، عند معالجتهما باستخدام محللات نصوص مناسبة. ويختلف دعم الصيغ بحسب التطبيق والجهاز ونظام التشغيل وإصداره.
معلومات مفيدة
تحقق دائمًا من أنواع البيانات بعد التحويل، إذ يتطلب TOML تمييزًا صارمًا بين الأعداد الصحيحة وأعداد الفاصلة العائمة، بينما يتعامل JSON مع جميع الأعداد بالطريقة نفسها.
الأسئلة الشائعة
كيف يمكنك تحويل إعدادات JSON إلى إعدادات TOML دون فقدان الجودة؟
قد يفقد هذا التحويل بعض المعلومات: لا تحتوي TOML على قيمة null، لذا تصبح قيم null في JSON سلاسل فارغة. تُحوَّل القيم الأخرى المدعومة إلى ما يقابلها في TOML. تحقّق من النتيجة قبل استخدامها.
ما الفرق بين إعدادات JSON وإعدادات TOML؟
تستخدم JSON أقواسًا معقوفة ومربعة متداخلة وعلامات اقتباس لتحديد هياكل البيانات، بينما يستخدم TOML أقواسًا مربعة لترويسات الجداول وتعيينات نصية بسيطة لتنسيق أوضح وأسهل قراءةً.