DevToolPal
ع

تحويل TOML إلى JSON

حوّل TOML إلى JSON وJSON إلى TOML: الجداول ومصفوفات الجداول والجداول المضمّنة والتواريخ، مع مواضع دقيقة للأخطاء.

يعمل محليًا، دون أي رفع

الخيارات

الاتجاه
مسافة JSON البادئة

الإدخال

0 حرف · 0 B

المخرجات

0 حرف · 0 B

ما الذي تفعله الأداة

تحوّل هذه الأداة TOML إلى JSON، وJSON إلى TOML. TOML هي صيغة الإعداد التي يقوم عليها Cargo.toml في Rust وpyproject.toml في Python، وكذلك Hugo وNetlify وDeno وأدوات كثيرة أخرى. وهي سهلة التحرير للبشر، لكن معظم السكربتات وواجهات API وأدوات التحقق تتوقع JSON. يتيح لك التحويل فحص ملف إعداد بأدوات JSON، أو تمريره إلى برنامج، أو تحويل بيانات JSON إلى ملف إعداد مرتّب.

طريقة الاستخدام

  1. الصق TOML في مربع الإدخال، أو أفلت عليه ملف .toml، أو اضغط مثال.
  2. يظهر JSON أثناء الكتابة. اختر مسافة بادئة من مسافتين أو 4 مسافات.
  3. بدّل الاتجاه إلى JSON → TOML للتحويل في الاتجاه المعاكس. يجب أن يكون JSON كائنًا في المستوى الأعلى، لأن مستند TOML جدول دائمًا.
  4. انسخ النتيجة أو نزّلها.

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

مثال

مدخلات TOML:

[server]
host = "0.0.0.0"
port = 8080

[[users]]
name = "Alice"
roles = ["admin", "editor"]

مخرجات JSON:

{
  "server": { "host": "0.0.0.0", "port": 8080 },
  "users": [{ "name": "Alice", "roles": ["admin", "editor"] }]
}

يصبح [server] كائنًا متداخلًا، وتضيف كل كتلة [[users]] عنصرًا واحدًا إلى المصفوفة users.

مطابقة الأنواع

  • تُطابَق النصوص والأعداد الصحيحة والعشرية والقيم المنطقية مباشرةً. تفقد الأعداد الصحيحة الكبيرة التي تتجاوز النطاق الآمن في JavaScript دقتها، لذا احتفظ بالمعرّفات كنصوص.
  • تُطابَق المصفوفات بمصفوفات، والجداول والجداول المضمّنة بكائنات.
  • تصبح قيم التاريخ والوقت مع الإزاحة، والتاريخ والوقت المحليين، والتواريخ المحلية، والأوقات المحلية نصوصًا بصيغة ISO 8601.
  • في الاتجاه المعاكس، لا مقابل لـ null في TOML ويُبلَّغ عنها كخطأ مع مسارها. تصبح الكائنات المتداخلة أقسام [table]، وتصبح مصفوفات الكائنات أقسام [[array]].

الأسئلة الشائعة

› هل يُرفع ملف TOML الخاص بي؟

لا. يجري التحليل والتحويل بالكامل في متصفحك، لذا لا تغادر ملفات Cargo وملفات pyproject والإعدادات التي تحتوي على أسرار جهازك أبدًا.

› ما إصدار TOML المدعوم؟

TOML 1.0، بما في ذلك الجداول، ومصفوفات الجداول، والجداول المضمّنة، والنصوص متعددة الأسطر، والتواريخ والأوقات، والأعداد الصحيحة بالنظام السداسي عشر والثماني والثنائي.

› كيف تُحوَّل تواريخ TOML إلى JSON؟

لا يوجد نوع تاريخ في JSON، لذا تصبح التواريخ والأوقات نصوصًا بصيغة ISO 8601. فمثلًا يبقى 2026-10-08 بصيغة "2026-10-08"، ويصبح 1979-05-27T07:32:00Z هو "1979-05-27T07:32:00.000Z".

› لماذا يفشل التحويل من JSON إلى TOML عند null؟

لا توجد قيمة null في TOML. تتوقف الأداة وتخبرك بمسار أول null، مثل database.password، كي تحذف المفتاح أو تعطيه قيمة.

› هل تُحفظ التعليقات؟

لا. تُحذف التعليقات في TOML لأن JSON لا يستطيع حملها، ولا توجد في JSON تعليقات تُنقل إلى TOML.