JSON 轉 Env 工具
把 JSON 物件轉換成 .env 的 KEY=VALUE 格式,支援巢狀物件展平與註解回填,純瀏覽器端運算。
貼上一份 JSON 物件,工具會在瀏覽器裡即時轉成 .env 的 KEY=VALUE 格式。巢狀物件預設會被展平成點號鍵名(也能關掉展平、保留原樣),如果 JSON 裡帶有 Env 轉 JSON 工具產生的 $comments 欄位,對應的註解會以 # 開頭的行回填到相應鍵的上方。全程不連網,轉換完全在瀏覽器本機完成。
關於 JSON 轉 Env 工具
這是 Env 轉 JSON 的反向操作:接收一份 JSON 物件——不管是扁平還是巢狀的——直接產生行程管理器、Docker Compose 檔案或 shell 都能直接 source 的純文字 .env。開啟點號鍵名展平後,像 { "app": { "cache": { "ttl": 60 } } } 這種巢狀物件會變成 APP.CACHE.TTL=60 這樣的點號鍵名;關掉這個開關就要求輸入的 JSON 本身已經是扁平的。如果 JSON 裡帶有 $comments 物件(例如直接貼上 Env 轉 JSON 的輸出結果),每一條都會以 # 註解行的形式寫回到對應鍵的正上方,讓兩個工具來回轉換也不會弄丟原本的說明文字。
你可能還需要
貼上一份 JSON 物件,工具會在瀏覽器裡即時轉成 .env 的 KEY=VALUE 格式。巢狀物件預設會被展平成點號鍵名(也能關掉展平、保留原樣),如果 JSON 裡帶有 Env 轉 JSON 工具產生的 $comments 欄位,對應的註解會以 # 開頭的行回填到相應鍵的上方。全程不連網,轉換完全在瀏覽器本機完成。
如何把 JSON 轉換成 .env
- 1
貼上 JSON 物件
把 JSON 物件輸入到輸入欄,或點燒瓶圖示載入一份帶巢狀物件的範例。
- 2
選擇展平方式與註解行為
打開進階選項可以設定點號鍵名的分隔符或關閉展平,還能選擇 $comments 欄位要寫回成 # 註解行還是直接忽略。
- 3
按下「轉換」
JSON 會被展平(如果開啟這個選項),每一項都會寫成一行 KEY=VALUE,有註解的話會回填到對應鍵上方。
- 4
複製或下載 .env 檔案
複製輸出結果,或下載成一份可以直接放進專案的 .env 檔。按切換方向圖示可以跳回 Env 轉 JSON。
參考資料
- The Twelve-Factor App — Config
把組態存成環境變數這套方法論,也是本工具輸出格式所遵循的規範。
- dotenv (motdotla) — README
.env 檔案語法的參考實作,說明了 KEY=VALUE 鍵值對和註解的慣用寫法。
- RFC 8259 — The JSON Data Interchange Format
本工具解析的 JSON 輸入格式所依據的 IETF 規範。
相關開發者工具
JSON 轉 Env 常見問題
- 要怎麼線上把 JSON 轉成 .env 檔案?
- 把 JSON 物件貼到輸入欄,按下「轉換」。每個頂層鍵都會變成一行 KEY=VALUE,巢狀物件預設會被展平成點號鍵名。複製結果,或下載成 .env 檔。
- 可以把巢狀的 JSON 物件轉成 .env 格式嗎?
- 可以。開啟「點號鍵名 → 巢狀」後,像 { "db": { "host": "localhost" } } 這種巢狀物件會被展平成 DB.HOST=localhost。關掉這個開關就只接受本身已經是扁平結構的 JSON。
- 轉換成 .env 時我的 JSON 會被上傳嗎?
- 不會。所有解析和格式化都在瀏覽器裡用 JavaScript 本機完成——這點很重要,因為 .env 輸出裡常常包含 API 金鑰、資料庫密碼這類機密資訊。
- 布林值和數字在 .env 輸出裡是怎麼寫的?
- JSON 裡的布林值和數字會按原樣的純文字形式寫出——true、false 或數字本身,這樣 Env 轉 JSON 工具開啟型別推斷讀回去的結果才對得上。
- JSON 轉 Env 支援註解嗎?
- 如果你的 JSON 裡帶有 $comments 物件(例如直接從 Env 轉 JSON 的輸出貼過來),每一條都會以 # 註解行的形式回填到對應鍵上方。想跳過這步、只輸出純粹的 KEY=VALUE,可以到進階選項把「註解」設成「忽略」。
- 展平巢狀 JSON 鍵名時用的是什麼分隔符?
- 預設分隔符是點號(.),對應 DB.HOST 這類常見的環境變數命名習慣。可以在進階選項改成別的字元,例如改成底線得到 DB_HOST。
- 可以用這個工具替 Docker 或 Node.js 產生 .env 檔案嗎?
- 可以。輸出的是標準 KEY=VALUE 文字,相容 dotenv、Docker Compose 的 env_file,以及大多數在啟動時讀取 .env 檔案的行程管理器。