كيفية الاستخدام
- الصق كائن JSON، أو جرّب المثال.
- فعِّل خيار «تجاهل القيم الفارغة» إذا كان JSON يحتوي على قيم null لا تحتاج إليها.
- انسخ TOML أو نزّله كملف .toml.
كيف تعمل الأداة
يُحلَّل JSON بدقة ثم يُكتَب بصيغة TOML 1.0 باستخدام مكتبة smol-toml مفتوحة المصدر. تتحول الكائنات المتداخلة إلى [tables]، وتتحول مصفوفات الكائنات إلى [[arrays of tables]]، وتُوضَع المفاتيح غير الكلمات العادية بين علامتي اقتباس.
لا يستطيع TOML التعبير عن كل ما يستطيع JSON التعبير عنه. يجب أن يكون جذر المستند جدولًا، لذا تُرفَض مصفوفة JSON أو القيمة المفردة. لا توجد قيمة null في TOML: افتراضيًا يُبلَّغ عن أول null مع مساره؛ ويمكنك بدلاً من ذلك اختيار استبعاد أعضاء الكائن null. أما null داخل مصفوفة فيُعد خطأ دائمًا، لأن إزالته ستغيّر مواضع العناصر الأخرى. المصفوفات التي تخلط أنواعًا (مثل الأرقام والسلاسل) صالحة في TOML 1.0 لكنها غير صالحة في الإصدار الأقدم 0.5، لذا تُذكَر في ملاحظة.
لا يفرّق JSON بين 1 و1.0، لذا تُكتَب الأعداد الصحيحة كأعداد صحيحة في TOML. السلاسل التي تشبه التواريخ تبقى سلاسل. والاتجاه الآخر هو من TOML إلى JSON.
أمثلة
إعدادات التطبيق
{"server": {"host": "0.0.0.0", "port": 8080}} يصبح جدول [server] يحتوي على المفتاحين host وport.
قائمة العاملين
"workers": [{"queue": "mail"}, {"queue": "images"}] يتحول إلى كتلتين [[workers]].
الأسئلة الشائعة
لماذا لا يُسمح بـ null؟
لا يحتوي TOML على قيمة null. اترك المفتاح خارجًا أو استخدم قيمة مثل سلسلة فارغة، حسب ما يتوقعه البرنامج القارئ.
لماذا تظهر ملاحظة عند مصفوفة من أرقام وسلاسل؟
المصفوفات المختلطة الأنواع مسموحة منذ TOML 1.0، لكن الأدوات التي تطبّق TOML 0.5 ترفضها. تساعدك الملاحظة إذا كانت أداتك المستهدفة أقدم.
هل سيبقى 1.0 عددًا عشريًا؟
لا. يخزّن JSON الرقمين 1.0 و1 كالعدد نفسه، لذا يصبح العدد الصحيح 1. اكتب 1.5 أو عدّل TOML إذا كان البرنامج القارئ يحتاج إلى عدد عشري.
الخصوصية
تتم عملية التحويل بالكامل في متصفحك. لا يتم رفع أو تخزين بيانات JSON وTOML الخاصة بك.