JSON 轉 Properties 工具
把 JSON 物件轉換成 Java .properties 格式,支援巢狀物件展平與註解回填,純瀏覽器端運算。
貼上一份 JSON 物件,工具會在瀏覽器裡即時轉成 Java .properties 格式。巢狀物件預設會被展平成點號鍵名(也能關掉展平、保留原樣),如果 JSON 裡帶有 Properties 轉 JSON 工具產生的 $comments 欄位,對應的註解會以 # 開頭的行回填到相應鍵的上方。全程不連網,轉換完全在瀏覽器本機完成。
關於 JSON 轉 Properties 工具
這是 Properties 轉 JSON 的反向操作:接收一份 JSON 物件——不管是扁平還是巢狀的——產生一份相容 java.util.Properties#load 的 Java .properties 檔案。開啟點號鍵名展平後,像 { "server": { "port": 8080 } } 這種巢狀物件會變成 server.port=8080 這樣的點號鍵名;關掉這個開關就要求輸入的 JSON 本身已經是扁平的。如果 JSON 裡帶有 $comments 物件(例如直接貼上 Properties 轉 JSON 的輸出結果),每一條都會以 # 註解行的形式寫回到對應鍵的正上方,讓兩個工具來回轉換也不會弄丟檔案原本的說明文字。
你可能還需要
貼上一份 JSON 物件,工具會在瀏覽器裡即時轉成 Java .properties 格式。巢狀物件預設會被展平成點號鍵名(也能關掉展平、保留原樣),如果 JSON 裡帶有 Properties 轉 JSON 工具產生的 $comments 欄位,對應的註解會以 # 開頭的行回填到相應鍵的上方。全程不連網,轉換完全在瀏覽器本機完成。
如何把 JSON 轉換成 .properties
- 1
貼上 JSON 物件
把 JSON 物件輸入到輸入欄,或點燒瓶圖示載入一份帶巢狀物件的範例。
- 2
選擇展平方式與註解行為
打開進階選項可以設定點號鍵名的分隔符或關閉展平,還能選擇 $comments 欄位要寫回成 # 註解行還是直接忽略。
- 3
按下「轉換」
JSON 會被展平(如果開啟這個選項),用專門理解 properties 格式的序列化器逐行寫成 key=value,有註解的話會回填到對應鍵上方。
- 4
複製或下載 .properties 檔案
複製輸出結果,或下載成一份可以直接放進 Java 資源目錄的 .properties 檔。按切換方向圖示可以跳回 Properties 轉 JSON。
參考資料
- Java SE — java.util.Properties
官方 Java API 文件,定義了本工具輸出所對應的 .properties 檔案格式。
- RFC 8259 — The JSON Data Interchange Format
本工具解析的 JSON 輸入格式所依據的 IETF 規範。
相關開發者工具
JSON 轉 Properties 常見問題
- 要怎麼線上把 JSON 轉成 Java .properties 檔案?
- 把 JSON 物件貼到輸入欄,按下「轉換」。每個頂層鍵都會變成一行 key=value,巢狀物件預設會被展平成點號鍵名。複製結果,或下載成 .properties 檔。
- 可以把巢狀的 JSON 物件轉成 .properties 格式嗎?
- 可以。開啟「點號鍵名 → 巢狀」後,像 { "app": { "name": "MyApp" } } 這種巢狀物件會被展平成 app.name=MyApp。關掉這個開關就只接受本身已經是扁平結構的 JSON。
- 輸出結果跟 java.util.Properties 相容嗎?
- 相容。.properties 的輸出是用專門理解 properties 檔案格式的序列化器產生,鍵和值都遵循 java.util.Properties#load 期望的慣例,包含標準的 = 分隔符。
- 轉換成 .properties 時我的 JSON 會被上傳嗎?
- 不會。所有解析和格式化都在瀏覽器裡用 JavaScript 本機完成,不涉及任何跟你的資料相關的網路請求。
- JSON 轉 Properties 支援註解嗎?
- 如果你的 JSON 裡帶有 $comments 物件(例如直接從 Properties 轉 JSON 的輸出貼過來),每一條都會以 # 註解行的形式回填到對應鍵上方。想只輸出純粹的 key=value,可以到進階選項把「註解」設成「忽略」。
- 展平巢狀 JSON 鍵名時用的是什麼分隔符?
- 預設分隔符是點號(.),對應 app.cache.ttl 這類標準的 Java properties 命名習慣。如果你的 properties 檔案用別的慣例,可以在進階選項修改分隔符。
- 布林值和數字在 .properties 輸出裡是怎麼寫的?
- JSON 裡的布林值和數字會按原樣的純文字形式寫出——true、false 或數字本身,這樣 Properties 轉 JSON 工具開啟型別推斷讀回去的結果才對得上。