‎.env إلى JSON

حوّل ملفات ‎.env إلى JSON والعكس

نبذة عن ‎.env إلى JSON

تحول أداة «‎.env إلى JSON» ملف ‎.env إلى كائن JSON، وكائن JSON إلى أسطر ‎.env. وهي تتبع قواعد مكتبة dotenv: كلمة export اختيارية، وKEY=value أو KEY: value، وعلامات الاقتباس المفردة تحفظ القيمة حرفيا، وعلامات الاقتباس المزدوجة تحول ‎\n إلى فاصل أسطر، وعلامات الاقتباس الخلفية، والقيم المقتبسة الممتدة على عدة أسطر، وتعليقات # خارج علامات الاقتباس. افتراضيا تبقى كل قيمة سلسلة نصية؛ وتعطي الخيارات أعدادا وtrue وfalse وnull بأنواعها، وتوسع المراجع ${VAR}. وتذكر الأسطر التي ليست متغيرات بأرقامها. يعمل الاتجاهان في متصفحك.

مثال

ملف ‎.env فيه export وتعليق وتعليق في آخر سطر وسطر ليس متغيرا، حول والخياران غير محددين؛ والسطر تحت JSON هو الملاحظة التي تعرضها الصفحة:

.env

export APP_NAME="My App"
PORT=3000
# database
DB_URL=postgres://localhost/app # local only
GREETING="Hello\nWorld"
RAW='$HOME stays'
not a variable

JSON

{
  "APP_NAME": "My App",
  "PORT": "3000",
  "DB_URL": "postgres://localhost/app",
  "GREETING": "Hello\nWorld",
  "RAW": "$HOME stays"
}

5 متغيرات — السطر 7 ليس بصيغة KEY=value، لذا تخطته الأداة

كيفية تحويل ملف ‎.env إلى JSON

  1. 1الصق محتوى ملف ‎.env، أو كائن JSON، في «الإدخال».
  2. 2حدد «تحويل الأعداد وtrue/false وnull إلى أنواع JSON» أو «توسيع المراجع ${VAR}» إذا كنت تحتاج إليهما.
  3. 3انقر على «‎.env إلى JSON»، أو على «JSON إلى ‎.env» للاتجاه المعاكس.
  4. 4انقر على «نسخ»، أو على «تنزيل»: env.json لنص JSON، وvariables.env لأسطر ‎.env (أعد تسميته إلى ‎.env).

الصيغ والحدود

الإدخال
نص ‎.env، أو كائن JSON
الإخراج
كائن JSON بمسافة بادئة من مسافتين، أو أسطر ‎.env
المفاتيح المكررة
التعريف الأخير هو الذي يغلب

المكان الذي تتم فيه معالجة ملفك

يعمل الاتجاهان في متصفحك؛ ولا ترفع المتغيرات التي تلصقها، بما فيها الأسرار، ولا تعرض النتيجة إلا في هذه الصفحة. إذا حدث خطأ، مثل نص JSON غير صالح، ترسل إلينا رسالته بعد حذف المقاطع المقتبسة منها، مع اسم الأداة وإصدار المتصفح، لذا لا تضع أسرارا في أسماء المفاتيح.

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

هل توسع الأداة المراجع ${OTHER_VAR}؟

نعم، عند تحديد «توسيع المراجع ${VAR}»: تأخذ ${VAR} و${VAR:-default} و$VAR قيمة متغير معرف قبلها في الملف، كما تفعل dotenv-expand، ويحفظ ‎\$ علامة دولار حرفية. وعند تحديد هذا الخيار، توسع القيم المقتبسة بعلامات اقتباس مفردة أيضا.

هل تحول الأعداد والقيم المنطقية إلى أنواعها؟

لا، ليس افتراضيا، لأن قيم ملف ‎.env نصوص. حدد «تحويل الأعداد وtrue/false وnull إلى أنواع JSON» فيصبح 3000 عددا وتصبح true وfalse وnull قيما في JSON، بينما تبقى 007 و1.10 سلاسل نصية لأن العدد كان سيغيرهما.

هل تبقى التعليقات؟

لا. السطر الذي يبدأ بعلامة #، أو علامة # بعد قيمة غير مقتبسة، تعليق يحذف، لذا لا يستطيع «JSON إلى ‎.env» استعادته؛ أما # بين علامات الاقتباس فتبقى جزءا من القيمة. والسطر الذي ليس تعليقا ولا متغيرا يذكر برقمه.

هل يتعامل «JSON إلى ‎.env» مع الكائنات المتداخلة؟

نعم. يكتب الكائن أو المصفوفة المتداخلة نص JSON بين علامات اقتباس، وتحصل كل قيمة على الاقتباس الذي يجعل dotenv تقرؤها كما هي؛ وترفض القيمة التي تجمع ' و" و\ و` معا، لأن أي اقتباس في ‎.env لا يمكنه احتواؤها، وتعطي null قيمة فارغة. ولا تستخدم المفاتيح إلا الأحرف والأرقام و_ و. و-.