محول INI إلى JSON

ملفات INI هي صيغة الإعداد المسطحة بأزواج المفتاح والقيمة التي لا تزال تجدها في تطبيقات Windows، وفي php.ini الخاص بـ PHP، وفي كثير من منفّذات CI. أما JSON فهي الصيغة التي تتوقعها معظم المكتبات الحديثة. يجتاز هذا المحول ملف INI، محترما كتل [section] وأسطر key = value وتعليقات الفاصلة المنقوطة، ويعيد JSON مكافئا يصبح فيه كل قسم كائنا.

كيف تحول INI إلى JSON

  1. 1

    الصق محتوى INI

    الأقسام بين أقواس مربعة، وأزواج key=value تحتها.

  2. 2

    حلّل

    تُحذف التعليقات (";" و"#") والأسطر الفارغة؛ ويُتجاهل البياض حول "=".

  3. 3

    حوّل إلى JSON

    يصبح كل قسم كائن JSON؛ والمفاتيح في المستوى الأعلى خارج أي قسم تذهب إلى الجذر.

  4. 4

    انسخ JSON

    يُطبع الإخراج بتنسيق جميل مع مسافة بادئة من حرفين.

مثال

المدخل:

; database config
[database]
host = db.example.com
port = 5432
user = app

[cache]
driver = redis
ttl = 3600

الإخراج:

{
  "database": {
    "host": "db.example.com",
    "port": "5432",
    "user": "app"
  },
  "cache": {
    "driver": "redis",
    "ttl": "3600"
  }
}

غرائب INI التي يتعامل معها المحول

صيغة INI السلوك
تعليق ; يُحذف
تعليق # يُحذف (غير قياسي لكنه شائع)
غياب قسم تذهب المفاتيح إلى الكائن الجذري
مفاتيح مكررة الأخير يفوز
صيغة المصفوفة key[] تصبح مصفوفة JSON (بأسلوب PHP)
قيم بين علامتي اقتباس تُزال علامتا الاقتباس؛ ويُحفظ المحتوى الداخلي

ما لا يفعله

  • استنتاج النوع. INI نصية النوع؛ فـ 42 و“42“ تبدوان متطابقتين. تخرج كل القيم كنصوص JSON ما لم تختر تفعيل خطوة “حاول رقما/قيمة منطقية”.
  • الأقسام المتداخلة. لا تحوي INI القياسية أقساما متداخلة. تُبقى كتلة [database.primary] كمفتاح واحد بدل كائن متداخل.
  • القيم متعددة الأسطر (فيما يتجاوز ما تسمح به INI نفسها).

متى لا يزال INI منطقيا

لإعداد مسطح مع محررين غير تقنيين، يصعب التفوق على INI، مفتاح واحد لكل سطر، دون أقواس معقوفة، ومتسامح جدا. تفوز JSON حين تحتاج الأدوات إلى استهلاك البيانات وتكون البنية المتداخلة مهمة.

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

لأن INI نصية النوع. “42” و“اثنتان وأربعون“ قيمتان صالحتان، ولا يستطيع المحول التمييز بينهما دون تلميحات. إذا احتجت إلى JSON رقمي، فشغّل خطوة معالجة لاحقة أو فعّل “استنتاج النوع التلقائي” إن دعمتها أداتك.

لا تتضمن مواصفة INI أقساما متداخلة، فـ [a.b] قسم واحد يصادف أن اسمه يحوي نقطة. تحويل ذلك إلى JSON متداخل عرف لا معيار، لذا يُبقي المحول الأقسام مسطحة.

نعم. تنطوي أسطر key[] = value المتعددة في القسم نفسه إلى مصفوفة JSON. ويبقى key[] الوحيد كمصفوفة من عنصر واحد للحفاظ على اتساق الشكل.

لا. يجري التحليل في المتصفح ولا يُرسل المحتوى خارجيا أبدا.

أدوات ذات صلة

مرجع جدول ASCII

جدول ASCII كامل من 0 إلى 127 مع التمثيل العشري والست عشري والثماني والثنائي والمرجع الرقمي في HTML لكل محرف، بما في ذلك أكواد التحكم مثل NUL وLF وDEL.

مرجع أحرف HTML

قائمة قابلة للبحث بكيانات HTML، مع رموزها المسمّاة والرقمية، بالإضافة إلى خيار النسخ بنقرة واحدة للأحرف والرموز الخاصة.

مرجع اختصارات لوحة المفاتيح

ابحث في الاختصارات الافتراضية الموثقة لـ VS Code وChrome وBash مع GNU Readline على macOS وWindows وLinux.

مولد EditorConfig

أنشئ ملف .editorconfig بقواعد نمط المسافة البادئة وحجمها ونهاية السطر ومجموعة الأحرف والمسافات البيضاء، لتنسيق موحّد عبر بيئات التطوير المتكاملة (IDEs) والمحررات.

مدقق البريد الإلكتروني

تحقق من عنوان بريد إلكتروني: فحص صياغة RFC 5322، واستعلام حي عن سجل MX، بالإضافة إلى تفاصيل الجزء المحلي والنطاق والطول. لا يتم إرسال أي بريد.

ورقة مرجعية سريعة لـ Markdown

مرجع Markdown عملي مع معاينات فعلية وأمثلة جاهزة للنسخ للعناوين والقوائم والجداول والكود والروابط والصور وصياغة GFM.

الأداة متاحة بلغات أخرى