.env 轉 JSON 工具
把 .env 檔案內容轉換成 JSON,支援型別推斷、巢狀鍵名與註解保留,純瀏覽器端運算。
貼上 .env 檔案內容,工具會直接在瀏覽器裡即時轉成 JSON。預設會開啟型別推斷,DEBUG=true 會變成真正的布林值而不是字串 "true";像 DB.HOST 這種帶點號的鍵名會自動轉成巢狀物件;註解行也不會被悄悄丟掉,而是保留成 $comments 欄位。三個選項都能個別關閉。全程不連網,轉換完全在你的瀏覽器本機完成。
關於 .env 轉 JSON 工具
.env 檔案說穿了就是一行行 KEY=VALUE 的純文字,寫起來輕鬆,但要餵給需要結構化組態的程式碼就很不方便。這個工具能解析 .env 語法——包含 # 註解、加引號的值,以及 = 和 : 兩種分隔符——直接產出一份可以塞進組態載入器、測試夾具或除錯過程的 JSON 物件。輸出由三個開關控制:型別推斷會把看起來像數字或布林值的字串轉成真正的 JSON 型別;點號鍵名巢狀化會把 FEATURE.CACHE.TTL 變成 { "FEATURE": { "CACHE": { "TTL": ... } } };註解處理則決定要不要保留原檔案裡用 # 寫下的說明。
你可能還需要
貼上 .env 檔案內容,工具會直接在瀏覽器裡即時轉成 JSON。預設會開啟型別推斷,DEBUG=true 會變成真正的布林值而不是字串 "true";像 DB.HOST 這種帶點號的鍵名會自動轉成巢狀物件;註解行也不會被悄悄丟掉,而是保留成 $comments 欄位。三個選項都能個別關閉。全程不連網,轉換完全在你的瀏覽器本機完成。
如何把 .env 轉換成 JSON
- 1
貼上 .env 內容
把 .env 檔案內容複製進輸入欄,或是點燒瓶圖示載入一份帶註解、數字和布林值的範例。
- 2
視需要調整進階選項
打開進階選項可以切換型別推斷、點號鍵名巢狀化(以及分隔符),還有註解要保留成 $comments 欄位還是直接忽略。預設值符合常見慣例:推斷型別、鍵名巢狀化、保留註解。
- 3
按下「轉換」
解析器會逐行讀取,去掉註解和引號,在輸出欄產生 JSON 物件。之後再切換任何選項都會立刻重新轉換,不用再按一次「轉換」。
- 4
複製或下載 JSON
用複製圖示把 JSON 拿去貼到別處,或下載成 .json 檔。要反方向轉換?按切換方向圖示直接跳到 JSON 轉 Env。
參考資料
- The Twelve-Factor App — Config
這套廣受引用的方法論,推廣了把組態存進環境變數的做法,也是 .env 檔案這套慣例的源頭。
- dotenv (motdotla) — README
KEY=VALUE 行、# 註解、帶引號的值——這份 README 是 .env 檔案語法事實上的參考實作與規範。
- RFC 8259 — The JSON Data Interchange Format
這個工具產出的 JSON 格式所依據的 IETF 規範。
相關開發者工具
Env 轉 JSON 常見問題
- 要怎麼線上把 .env 檔案轉成 JSON?
- 把 .env 檔案的內容貼到輸入欄,按下「轉換」。工具會逐行解析 KEY=VALUE,在輸出欄產生格式化好的 JSON 物件,可以直接複製,也能下載成 .json 檔。
- 這個工具會把我的 .env 檔案上傳到伺服器嗎?
- 不會。解析完全在瀏覽器裡用 JavaScript 完成,不會針對檔案內容發出任何網路請求——這點很重要,因為 .env 檔案裡常常放著 API 金鑰、資料庫密碼這類機密資訊。
- .env 轉成 JSON 後註解還在嗎?
- 預設會保留。以 # 開頭的註解行會被收進輸出 JSON 的 $comments 欄位,每條註解對應它前面緊接著的那個鍵。想丟掉註解的話,到進階選項把「註解」切成「忽略」即可。
- 布林值和數字轉換時是怎麼處理的?
- 預設開啟「推斷型別」,像 true、false、5432 這樣的值會被轉成真正的 JSON 布林值/數字,而不是字串。到進階選項關掉「推斷型別」,所有值都會原樣保留成字串,跟 .env 原文一致。
- 可以把帶點號的 .env 鍵名轉成巢狀 JSON 物件嗎?
- 可以。開啟「點號鍵名 → 巢狀」(預設分隔符是「.」)後,像 APP.CACHE.TTL=60 這種鍵會變成 { "APP": { "CACHE": { "TTL": 60 } } }。關掉這個開關就會保留原本扁平的點號鍵名。
- .env 和 JSON 在組態管理上有什麼差別?
- .env 檔案是一份扁平的 KEY=VALUE 清單,是為行程環境變數設計的(參見 The Twelve-Factor App 的組態理念),而 JSON 天生就支援巢狀結構和原生型別。轉換之後就能把 .env 的值當結構化資料查看、比對,或是餵給只吃 JSON 的工具鏈。
- 支援 .env 檔案裡帶引號的值嗎?
- 支援。像 NAME="My App" 這種用單引號或雙引號包起來的值,會在做型別推斷之前自動去掉外層引號。