型を推論するか決める
既定は文字列の保持です。推論対象は引用のないJSON数値と小文字のtrue、false、nullだけ。001、NaN、[]や引用した数字は文字列です。JSON→ENVでも文字列モードは文字列以外の末端値を拒否します。
設定形式の変換
文字列の保持と型推論を区別し、階層の復元は必要なときだけ有効にします。
内容はこのブラウザ内で処理します。送信・実行・保存せず、URLにも含めません。
dotenv 17.4.2の厳格な部分集合です。引用した値は文字列のまま。推論は引用のないJSON数値とtrue、false、nullのみ。コメントと元の引用符は残りません。
入力50万文字/UTF-8で2 MB。代入1万件、5万ノード、深さ100、数値トークン1,000文字、出力200万文字まで。
内容を入力するか変換を実行してください。
ENVからJSON変換では、環境設定の代入行をオブジェクトとして確認できます。ポート番号も実行時には文字列です。引用したfalseを意図せず真偽値へ変えることなく、受け取り側に合う形を選べます。
dotenv変換で対応する設定を読み取り、JSONからENVで代入行を作成できます。環境変数の参照展開やコマンド実行は行わず、アプリ固有のキー名も推測しません。
見た目以外にも影響する三つの設定
既定は文字列の保持です。推論対象は引用のないJSON数値と小文字のtrue、false、nullだけ。001、NaN、[]や引用した数字は文字列です。JSON→ENVでも文字列モードは文字列以外の末端値を拒否します。
平面モードのDATABASE__HOSTは一つの名前です。__モードはオブジェクトのパスへ分割します。空要素、衝突、要素内の__、曖昧な下線境界は拒否されます。配列や入れ子の空オブジェクトは出力できません。
結果を使う逆変換では置換内容と新しい方向を表示し、適用後は入力・設定・結果を一度戻せます。自動変換は350ms待って実行。オフなら変換ボタンかCtrl/Cmd+Enterを使います。編集時点で古い結果の出力は無効になります。
境界ごとにデータを確認
推論したJSON数値はbinary64を経由せず、桁と指数表記を保ちます。受け取り側では丸め、オーバーフロー、アンダーフローが起こり得ます。数値トークンは両方向とも1,000文字までです。
単一引用符、二重引用符、バッククォートで複数行も囲めます。二重引用符のバックスラッシュnとrだけをLFとCRへ変換し、それ以外のバックスラッシュは残します。出力には値に含まれない区切りを選びます。
ENV名は[A-Za-z_][A-Za-z0-9_]*に従います。重複、不正な名前、親子の衝突は全体の変換を停止します。検証済みdotenvの読み取りに合わせ、__proto__は拒否します。
結果、クリップボード、UTF-8ダウンロードは同じテキストです。ファイル読込は置換プレビューを経由します。失敗すると旧結果は無効になり、一部だけの設定を出力しません。
設定の読み取りに範囲を限定
値と構造の疑問を整理
ENVからJSON変換は外側の対応する引用符を除き、中身を文字列にします。二重引用符はバックスラッシュnとrだけを解釈し、単一引用符とバッククォートはそのままです。同種の引用符の埋込みや閉じる位置の曖昧さは拒否します。
JSONには入りません。引用のない#以降はコメントですが、引用内の#は値です。exportは構文として認識するだけで実行しません。逆変換では新しい代入行を作るため元の見た目は復元できません。
環境変数が文字列だからです。推論を選ぶと、引用のない有効なJSON数値とtrue、false、nullだけを型付きにできます。001や引用した42は文字列のまま。大きい数値も上限内なら桁を保ちます。
空白、#、基本型に見える文字を守るため通常は引用します。JSON流のエスケープを追加せず適切な区切りを選び、一部の引用符の組合せや末尾バックスラッシュには安全な裸の形を使います。表現できなければパス付きエラーです。
__階層を選び、対応する基本値へ続く空でないオブジェクトのパスを連結します。DATABASE.HOSTは大文字を保ったDATABASE__HOSTです。配列、空の子オブジェクト、不正名、曖昧な下線は拒否し、平面モードは階層を読み取りません。
別の引用符の例がありますか?