JSONから.env環境変数への変換ツール(平坦化とエクスポート)

JSONから.env環境変数への変換ツール(平坦化とエクスポート)

ネストされたJSONペイロードをカスタマイズ可能な区切り文字とプレフィックスオプションを使用して大文字SNAKE_CASEの.env設定に平坦化します。

プリセット:
平坦化および命名規則パイプライン設定
ネストされたJSONソース
JSON
# ==============================================================================
# Generated by ToolsAA JSON to .env Converter (100% Client-Side Pure)
# ==============================================================================

# ── SERVICE ─────────────────────────────────────────────────────────────
SERVICE_NAME=payment-gateway
SERVICE_VERSION=2.4.0
SERVICE_ENVIRONMENT=production
SERVICE_PORT=8080
SERVICE_CORS_ORIGINS_0=https://toolsaa.com
SERVICE_CORS_ORIGINS_1=https://api.toolsaa.com

# ── DATABASE ─────────────────────────────────────────────────────────────
DATABASE_POSTGRES_HOST=db.internal.aws.toolsaa.net
DATABASE_POSTGRES_PORT=5432
DATABASE_POSTGRES_DATABASE=production_billing
DATABASE_POSTGRES_USER=billing_svc
DATABASE_POSTGRES_PASSWORD=Secr3t_Billing_Db_Pass!9988
DATABASE_POSTGRES_POOL_MAX=20
DATABASE_POSTGRES_POOL_IDLE_TIMEOUT_MILLIS=30000
DATABASE_POSTGRES_SSL=true

# ── REDIS ─────────────────────────────────────────────────────────────
REDIS_CLUSTER_HOST=redis-cluster.toolsaa.internal
REDIS_CLUSTER_PORT=6379
REDIS_CLUSTER_PASSWORD=SuperClusterAuthKey_9090
REDIS_CLUSTER_TTL_SECONDS=3600

# ── SECURITY ─────────────────────────────────────────────────────────────
SECURITY_JWT_SECRET=f3b890a2c4189e87519cd934bf2a09887711223344
SECURITY_JWT_EXPIRES_IN=2h
SECURITY_JWT_ISSUER=toolsaa-auth-service
SECURITY_API_KEY=ak_live_toolsaa_992288334455

# ── AWS ─────────────────────────────────────────────────────────────
AWS_REGION=us-east-1
AWS_S3_BUCKET=toolsaa-billing-receipts-prod
AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
変換後変数数区切り文字: "_"
26

アクティブな設定キーが大文字形式に変換されました UPPER_SNAKE.

検出機密キーMasking OFF
7

パスワード・トークン・APIキー等のパターン検知エンジンで照合済み。

最大ネスト深度Array: INDEXED
4

オブジェクト階層が正常に探索され、フラット化されました。

外部送信ゼロの完全ブラウザ内処理

すべてのJSONペイロードと環境変数シークレットは、純粋なクライアントサイドASTトラバーサルによりブラウザメモリ内でのみ処理されます。外部サーバーには一切送信されません。

高度なヒューリスティック命名変換と平坦化

深くネストされたオブジェクト階層をクリーンな大文字SNAKE_CASE変数に平坦化し、カスタム区切り文字(アンダースコア、ダブルアンダースコア)や各種プレフィックスに対応します。

マルチエコシステムのDevOpsデプロイ対応

標準の.env、Docker Compose環境設定ブロック、Kubernetes ConfigMap/Secretマニフェスト、Terraform .tfvars、TypeScript process.env定義へ直接エクスポート可能です。

技術リファレンス&アーキテクチャガイド

JSONから.env環境変数への変換ツール(平坦化とエクスポート) — リファレンスガイド

ネストされたJSONペイロードをカスタマイズ可能な区切り文字とプレフィックスオプションを使用して大文字SNAKE_CASEの.env設定に平坦化します。

主要パラメータ&設定項目

キー区切り文字Enum (単一アンダースコア _ | ダブルアンダースコア __ | ドット . | コロン :)

階層の平坦化時に親キーと子キーを連結する文字。ダブルアンダースコア(__)はASP.NET CoreやSpring Bootの設定オーバーライド標準です。

初期値: 単一アンダースコア (_)
キー命名規則Enum (UPPER_SNAKE_CASE | lower_snake_case | camelCase | PRESERVE)

平坦化された環境変数キーに適用する命名規約。POSIX標準の環境変数では大文字スネークケース(UPPER_SNAKE_CASE)が推奨されます。

初期値: UPPER_SNAKE_CASE
プレフィックス設定Enum (なし | NEXT_PUBLIC_ | VITE_ | REACT_APP_ | カスタム)

Next.jsやViteなどのフロントエンドバンドラでクライアント側に露出させるためにキー先頭へ付与する名前空間プレフィックス。

初期値: なし
配列の処理方式Enum (インデックス付き _0 | カンマ区切り | JSON文字列化)

JSON配列の変換方法を指定します。ゼロ始まりのインデックス接尾辞(HOSTS_0, HOSTS_1)、カンマ区切り値、またはシリアライズされたJSON文字列から選択できます。

初期値: インデックス付き (_0)
値の引用符Enum (自動判定 / スマート | 常にダブルクォート | シングルクォート | 引用符なし)

値のクォート処理ルール。スマートモードでは空白、ハッシュ記号(#)、改行、引用符を含む文字列を自動的に二重引用符で囲み、適切にエスケープします。

初期値: 自動判定 / スマート
機密キーのマスク表示Boolean

password、secret、token、key、privateなどの機密パターンに合致するキーの値をマスク(********)に置き換え、画面共有やドキュメント作成時の漏洩を防ぎます。

初期値: false

プロの活用テクニック&推奨設定

ASP.NET CoreおよびSpring Bootでの階層オーバーライド

ASP.NET CoreやSpring Bootの環境変数を作成する場合は、区切り文字にダブルアンダースコア(__)を選択してください。各フレームワークの設定バインダーが APP__DATABASE__PORT を app.database.port または App:Database:Port に自動マッピングします。

CI/CDパイプラインでの変数展開トラブル防止

GitHub ActionsやGitLab CIなどのCI/CD環境に変数を渡す際は、スマート引用符を使用して値を二重引用符で囲んでください。データベースパスワードに含まれるドル記号($)やアンパサンド(&)がシェルによって予期せず展開される事故を防止できます。

フロントエンド名前空間によるシークレット漏洩の防止

NEXT_PUBLIC_ や VITE_ などのプレフィックスは、ブラウザ側に露出してよい変数のみに適用してください。データベース接続文字列や秘密鍵にこれらのプレフィックスを付けると、クライアントバンドルに含まれ情報漏洩の原因となります。

TypeScript ProcessEnv 型定義による型安全性の確保

「TypeScript型定義」タブに切り替えて、アンビエントな NodeJS.ProcessEnv インターフェースを出力・プロジェクトに導入することで、process.env のタイポを排除し、完全なIDE補完とコンパイル時検査を実現できます。

よくあるトラブルと解決策

値に含まれる「#」記号以降がdotenvパーサーでコメントとして扱われ切り捨てられる

引用符で囲まれていない値に含まれる「#」は、多くのdotenvライブラリでインラインコメントと判定されます。「自動判定 / スマート」または「常にダブルクォート」を有効にして値を二重引用符(例: DB_PASS="p#ssw0rd")で囲んでください。

複数行のSSL証明書やRSA秘密鍵で改行が崩れて構文エラーになる

.envファイルは各行が独立した変数である必要があります。本ツールは改行をダブルクォート内のエスケープシーケンス(\n)に自動変換します(例: PRIVATE_KEY="-----BEGIN...\n...END-----")。アプリケーション側で初期化時に \n を実改行へ復元してください。

単純な文字列配列でキーが過度に増長し管理が困難になる

ホスト名一覧や許可オリジンなど単純な配列の場合、配列処理方式を「カンマ区切り」に変更してください。これにより ["a.com", "b.com"] が ALLOWED_HOSTS="a.com,b.com" に圧縮され、コード側で split(',') により容易に配列復元できます。

よくある質問 (FAQ)

ネストされたJSONオブジェクトはどのように環境変数へ平坦化されますか?▼

JSONの構文木を再帰的に走査し、親キーと子キーを指定の区切り文字(デフォルトは「_」)で結合した上で大文字スネークケース(UPPER_SNAKE_CASE)に変換します。例えば {"database": {"primary": {"host": "localhost"}}} は DATABASE_PRIMARY_HOST=localhost に平坦化されます。

通常の.env形式以外にどのようなフォーマットでエクスポートできますか?▼

標準の.envに加え、シェルエクスポート(export KEY="val")、Docker Compose環境変数ブロック、Kubernetes ConfigMap/Secretマニフェスト(YAML)、Terraform .tfvars、TypeScript型定義、平坦化JSONの全8種類に対応しています。

入力したJSONデータや機密キーが外部サーバーに送信されることはありますか?▼

一切ありません。すべての平坦化・フォーマット処理はお使いのブラウザ上のJavaScriptエンジン内で100%完結します。機密情報やAPIキーがネットワーク経由で外部へ送信されたり、ログに記録されたりすることは一切ありません。

真偽値(boolean)やnull値はどのように変換されますか?▼

JSONの真偽値は小文字文字列('true'、'false')に変換されます。null値は空文字列(KEY=)または環境に応じた表現に変換され、実行時環境変数の解析時に未定義参照エラーが発生するのを防止します。

生成した.envから元の階層型JSONに戻すことはできますか?▼

はい。ToolsAAでは逆方向の変換ユーティリティも提供しています。区切り文字(_ や __)を指定して平坦化キーを逆解析することで、元の階層型JSONオブジェクト構造を復元可能です。

関連するおすすめ開発ツール

すべてのツール →
SQL DDL から Drizzle ORM スキーマへの変換ジェネレーター (PostgreSQL, MySQL, SQLite)開発ツール

SQLのCREATE TABLE文を、pgTable、mysqlTable、sqliteTableの定義を含む型安全なDrizzle ORMスキーマコードに即座に変換します。

ツールを開く→
JSONからValibotスキーマ生成(モジュラーTypeScriptバリデーション)開発ツール

JSONデータをv.object、v.string、v.number、配列バリデータを含む軽量でツリーシェイカブルなValibotスキーマ定義に瞬時に変換します。

ツールを開く→
JSON to TypeBox スキーマジェネレーター開発ツール

JSON構造を高パフォーマンスなTypeBoxのType.Object定義へ変換し、Fastify、Ajv、TypeScriptのランタイム検証および静的型推論を実現します。

ツールを開く→
Prisma スキーマ → SQL DDL 移行ジェネレーター開発ツール

Prismaスキーマ(.prisma)からPostgreSQL、MySQL、SQLite向けSQL DDLマイグレーションスクリプトへの変換ガイド。

ツールを開く→
Prismaスキーマ TypeScript 型定義変換ガイド開発ツール

Prismaスキーマのmodelやenum、リレーションを解析し、Prisma Clientランタイム不要の純粋なTypeScript型定義(interface / type)を即時生成。

ツールを開く→
OpenAPI & SwaggerからAxios TypeScript APIクライアント生成開発ツール

OpenAPI 3.0およびSwaggerのJSON/YAML仕様書から、型安全で保守性の高いAxios HTTPクライアント関数とパラメータインターフェースを自動生成します。

ツールを開く→