dotenv から JSON への変換ツール
.env ファイルを JSON オブジェクトに、JSON を .env に、ブラウザ内で相互変換できます。環境変数は端末上に留まります。
dotenv から JSON への変換ツールは完全にブラウザ内で動作します。貼り付けた .env ファイル・JSON・シークレットは端末から外に出ることはなく、ArrayKit に何もアップロードされません。
JSON 整形ツールを開く
dotenv から JSON への変換 について
dotenv から JSON への変換ツールは、dotenv・docker-compose・多くの 12-factor アプリが使う KEY=value 形式である .env ファイルを読み込み、設定・シークレットマネージャー・CI 変数セットに落とし込めるきれいな JSON オブジェクトに変換します。シングルクォートとダブルクォートで囲んだ値を理解し、空行と '#' コメントを無視し、任意の 'export ' プレフィックスを取り除き、ダブルクォート内の \n のようなシーケンスをアンエスケープします。トグルを反転すれば逆方向に進み、JSON が有効な .env ファイルになります。スペースや '#' を含む値は正しく解析されるよう自動でダブルクォートで囲まれます。環境を配線したり、シークレットをローテーションしたり、設定に実際に何が入っているかを確認したりする開発者のために作られています。すべて端末上で動作し、環境変数がブラウザから外に出ることはありません。
機能
- .env ファイルを 1 回の貼り付けでフラットな JSON オブジェクトに変換
- JSON オブジェクトを有効な .env ファイルに戻す
- シングルクォート・ダブルクォート・裸の値を処理
- 空行と、行全体またはインラインの '#' コメントをスキップ
- 各キーの任意の 'export ' プレフィックスを取り除く
- スペースや '#' を含む JSON 値をダブルクォートで囲み .env が再解析できるようにする
- ダブルクォートで囲んだ値の中の \n・\t・\" をアンエスケープ
- すべてブラウザ内で動作し、変数はアップロードされない
dotenv から JSON への変換 の使い方
- '.env → JSON' を選択したまま .env ファイルを貼り付ける
- JSON オブジェクトをコピーするか env.json としてダウンロードする
- 'JSON → .env' に切り替えて逆変換する
- JSON オブジェクトを貼り付け、生成された .env テキストをコピーする
例
入力
export PORT=3000
APP_NAME="My Service"
DEBUG=false # verbose
出力
{
"PORT": "3000",
"APP_NAME": "My Service",
"DEBUG": "false"
}
'export ' プレフィックスとインラインコメントは取り除かれ、クォートで囲んだ値は保持されます。
よくあるエラーとトラブルシューティング
- .env に変換した後、スペースや '#' を含む値の一部が失われる。 — だからこそ変換ツールはそうした値を自動でダブルクォートで囲みます。.env を手で編集する場合は、dotenv が値を丸ごと読めるよう値をダブルクォートで囲んでください。
- 'JSON → .env' が、JSON は単一のオブジェクトでなければならないと報告する。 — .env ファイルはフラットなキー/値ペアの集合なので、入力は 1 つの JSON オブジェクトでなければなりません — 配列やトップレベルの文字列・数値ではいけません。
- クォートで囲まれていない値からインラインの '# コメント' が消える。 — .env では値の後の '#' はコメントの始まりです。'#' がデータの一部なら値をクォートで囲んでください、たとえば SECRET="a#b"。
- 数値や真偽値が JSON でクォート付きになる。 — 環境変数は常に文字列なので、変換ツールはアプリが読み取る形に合わせてすべての値を JSON 文字列のまま保ちます。
よくある質問
- dotenv から JSON への変換ツールは .env ファイルのクォートをどう扱いますか?
- ダブルクォートで囲んだ値はアンエスケープされ(\n は改行になります)、シングルクォートで囲んだ値はそのまま保たれます。どちらでも値がスペース・'='・'#' を含んでも途中で切れません。囲みのクォートは JSON 出力では取り除かれます。
- .env を JSON に変換するとき、コメントと export プレフィックスはどうなりますか?
- 行全体の '#' コメントと空行はスキップされ、クォートで囲まれていない値の後のインラインの '# コメント' は落とされます。キー先頭の 'export ' は取り除かれるので、JSON のキーは変数名だけになります。
- なぜ JSON 出力ではすべての値が文字列なのですか?
- 環境変数は定義上すべて文字列です — PORT=3000 は数値の 3000 ではなくテキストの "3000" です。変換ツールはこれを保持するので、JSON はアプリで process.env が返すものと正確に一致します。
- JSON から .env への変換は、いつクォートを付けるか、どう決めますか?
- スペース・'#'・クォート文字を含むあらゆる値は、特殊文字をエスケープしたうえでダブルクォートで囲まれるので、できた .env 行は元の値に解析し直せます。単純なトークンはクォートなしのままです。
- ネストしたオブジェクトを持つ JSON 設定を .env ファイルに変換できますか?
- .env ファイルはフラットなので、ネストしたオブジェクトや配列は JSON 文字列化されて 1 つのクォート付きの値になります。真にフラットなファイルにするには、変換前に JSON をトップレベルの文字列値へ平坦化してください。
- 私の環境変数やシークレットはどこかにアップロードされますか?
- いいえ。dotenv から JSON への変換ツールは完全にブラウザ内で動作します。貼り付けた .env テキストと JSON は端末から外に出ることはなく、ArrayKit やいかなるサーバーにも送られません。
関連ツール
すべての ArrayKit ツール