配置格式互轉
輸入一種配置格式,另外兩種隨輸入即時生成。
怎麼用
- 把配置貼上進來 —— 可以是 YAML、JSON 或 Java .properties。自動識別源格式,另外兩種在下方隨輸入即時生成,沒有按鈕要按。
- 識別錯了就自己選源格式;縮排可選 2 或 4 空格;想保留 Spring 那種扁平點分鍵,把「點分鍵展開為巢狀」關掉。
- 兩塊結果各自複製或下載,檔名分別是 config.yaml、config.json 和 config.properties。
示例
輸入(YAML)
server: port: 8080 name: order-service debug: true
JSON 與 Properties
{
"server": {
"port": 8080,
"name": "order-service"
},
"debug": true
}
Properties
----------
server.port = 8080
server.name = order-service
debug = true以上均為預設規則:源被識別為 YAML,所以 8080 是數字、true 是布林。Properties 沒有型別,同樣的值在 Properties 裡是字串 8080 和 true —— 當源是 .properties 時,值從頭到尾都是字串。
口徑、邊界與已知問題
- 只做三種格式:YAML、JSON 與 Java .properties。不做 TOML、INI 的 [section]、XML 與 CSV。
- YAML 只支援配置子集:塊對映、序列、flow 的 {…} / […]、引號標量與 | / > 塊標量。錨點(&)、別名(*)、!標籤、<< 合併鍵與 ? 複雜鍵一律報錯,不做猜測。
- 只轉換第一個 YAML 文件,後面的 --- 會被忽略並提示。
- 註解不保留:三種格式的註解位置語義不同,留在錯位上的註解比沒有註解更糟。
- Properties 沒有型別,值一律字串,`port = 8080` 轉 JSON 是 "8080" 而不是 8080。數字、布林與 null 只在源是 YAML 或 JSON 時保住型別。
- 非 ASCII 原樣輸出(UTF-8),不做 \uXXXX 轉義。Java 的 Properties.store() 寫的是 ISO-8859-1,粘進 Java 專案時請確認檔案編碼為 UTF-8。
- 超出安全整數範圍的整數(如 12345678901234567890)按字串保留你輸入的每一位數字,不轉數字、不丟精度。
- 鍵序保持輸入順序,不提供排序。
- 頂層是陣列或單個值時無法寫成 properties —— 那一塊會提示,另一塊照常轉換。
- 不支援檔案上傳、URL 傳參、歷史記錄。全部處理都在瀏覽器內完成:內容不上傳、不儲存。
- 含換行的字串在 YAML 裡寫成 "a\nb",不是 | 塊標量。
- 上限 100 萬字符與 64 層巢狀:超過即報錯,不截斷。超過 20 萬字符時,結果在停止輸入約 0.6 秒後更新;輸出用 LF、無末尾換行。
相關工具
配置換好格式之後,通常接下來要用這些。