.properties 轉 JSON 工具

把 Java .properties 檔案轉換成 JSON,支援點號鍵名巢狀化與型別推斷,鍵上方的註解保留為 $comments,純瀏覽器端運算。

貼上一份 Java .properties 檔案,工具會在瀏覽器裡即時轉成 JSON。像 app.cache.ttl 這種帶點號的鍵名預設會變成巢狀物件,看起來像數字或布林值的內容會被推斷成真正的 JSON 型別。緊貼在某個屬性上方的註解會掛到這個鍵,收進 $comments 欄位;跟下一個屬性之間隔著空行的註解區塊(例如檔案開頭的版權宣告)以及空行本身,都不會出現在 JSON 裡。鍵與值照 java.util.Properties 的語法規則讀取:=、: 或空白分隔,# 和 ! 開頭的註解,行尾反斜線續行,\uXXXX 逸出。

.properties 輸入

上傳

進階選項轉換清除

JSON 輸出

結果會顯示在這裡...

複製下載

結果會顯示在這裡...

關於 Properties 轉 JSON 工具

Java 的 .properties 格式(key=value、key:value 或 key value,註解用 # 或 !)從 java.util.Properties API 早期就一直是標準的組態與 i18n 資源包格式。這個工具照 java.util.Properties 規定的語法解析——包含用反斜線續行的多行值,以及 \uXXXX 這類 Unicode 逸出——產出可以查看、比對,或餵給 JavaScript 建置流程的 JSON。開啟點號鍵名巢狀化後,app.cache.ttl=60 會變成 { "app": { "cache": { "ttl": 60 } } };型別推斷會把 "false" 變成真正的布林值;註解處理則決定要不要把緊貼在屬性上方、說明該屬性的 # 或 ! 行收進 $comments 欄位。

你可能還需要

JSON 轉 Properties

把 JSON 物件轉換成 Java .properties 格式,支援點號鍵名展平。

開啟工具

Env 轉 JSON

把 .env 檔案轉換成 JSON,支援型別推斷與巢狀鍵名。

開啟工具

JSON 格式化和驗證器

格式化、驗證和視覺化 JSON 資料。

開啟工具

YAML 轉 JSON

將 YAML 轉換為 JSON 或將 JSON 轉換為 YAML。

開啟工具

如何把 .properties 轉換成 JSON

  1. 1

    貼上 .properties 內容

    把 .properties 檔案內容複製進輸入欄,或點燒瓶圖示載入一份帶註解和點號鍵名的範例。

  2. 2

    視需要調整進階選項

    打開進階選項可以切換型別推斷、點號鍵名巢狀化(以及分隔符),還有註解要保留成 $comments 還是忽略。

  3. 3

    按下「轉換」

    解析器照檔案順序讀取每個屬性:接上反斜線續行、解碼 \uXXXX 等逸出,把緊貼在屬性上方的註解掛到對應的鍵,再產生 JSON 物件。之後切換任何選項都會立刻重新計算。

  4. 4

    複製或下載 JSON

    複製 JSON,或下載成 .json 檔。按切換方向圖示可以跳到 JSON 轉 Properties 做反向轉換。

參考資料

相關開發者工具

Properties 轉 JSON 常見問題

要怎麼線上把 Java .properties 檔案轉成 JSON?
把 .properties 檔案的內容貼到輸入欄,按下「轉換」。每一行 key=value 都會變成一個 JSON 欄位,點號鍵名預設會被巢狀化。複製結果,或下載成 .json 檔。
解析 .properties 的方式跟 Java 一樣嗎?
鍵和值的讀法一樣:可以用 =、: 或空白分隔,# 或 ! 開頭的是註解,行尾反斜線代表下一行接著寫,\uXXXX 會被解碼;同一個鍵出現兩次時以後面的值為準,這點也跟 Properties.load 相同。不過 JSON 並不是原檔案的完整複本:空行,以及沒有緊貼在屬性上方的註解,都不會保留下來。
我的 .properties 檔案會被上傳到伺服器嗎?
不會。所有解析都在瀏覽器裡用 JavaScript 本機完成,不會有任何資料經過網路傳送——這點對含有內部主機名稱或憑證的 properties 檔案特別重要。
可以把帶點號的 .properties 鍵名轉成巢狀 JSON 物件嗎?
可以。開啟「點號鍵名 → 巢狀」(預設分隔符是「.」)後,像 server.port=8080 這種鍵會變成 { "server": { "port": 8080 } }。關掉這個選項,扁平的點號鍵名會當作單一 JSON 欄位保留下來。
.properties 轉 JSON 會保留註解嗎?
只保留屬於某個屬性的註解:緊貼在鍵上方、中間沒有空行的那段 # 或 ! 註解,會以該鍵的點號路徑為鍵名收進 $comments。檔案開頭的說明、後面接著空行的註解區塊、檔案最後的註解,以及空行本身都不會保留。想要一份只有值的 JSON,可以到進階選項把「註解」切成「忽略」。
.properties 裡的布林值和數字是怎麼處理的?
開啟「推斷型別」後,只有剛好寫成 true、false 的值會變成布林值,只有 8080、0.75 這類一般十進位數字會變成數字。轉回文字時會走樣的值——1.0、007,以及 1.2.3 這種版本號——仍然是字串。關掉「推斷型別」,所有值都會保留成字串。
.properties 和 JSON 有什麼差別?
Java 的 .properties 是行導向的鍵值文字,常用於應用程式組態和 i18n 資源包;JSON 天生支援巢狀結構和有型別的值。轉換之後就能把 properties 檔案當結構化資料比對,或匯入需要 JSON 的 JavaScript/TypeScript 工具鏈。