使用步驟
- 在左側貼上 JSON,或點選「載入示例」。
- 右側即時生成 TOML;JSON 格式有誤時,會提示出錯所在的行。
- 複製或下載 TOML;點選「反向轉換」可以把 TOML 轉回 JSON。
引數說明
- null 值
- TOML 沒有 null。值為 null 的鍵和陣列元素會被省略,輸出第一行用註釋列出省略了哪些路徑。
- 頂層不是物件
- TOML 文件的頂層必須是表。如果 JSON 頂層是陣列或單個值,會放到 items 鍵下,並在註釋裡說明。
- 表與表陣列
- 巢狀物件輸出為 [a.b] 形式的表,元素都是物件的陣列輸出為 [[a]] 表陣列,其餘陣列寫成行內陣列。
示例
JSON:
{"server":{"host":"0.0.0.0","port":8080},"databases":[{"name":"main","url":"postgres://db:5432/app"}]}
TOML:
[server]
host = "0.0.0.0"
port = 8080
[[databases]]
name = "main"
url = "postgres://db:5432/app"
常見問題
TOML 和 JSON 有什麼區別?
TOML 是為人手寫的配置格式,支援註釋、按節分組、日期時間型別,常用於 Cargo、pyproject、Hugo、Netlify 等。JSON 更適合程式之間傳資料,不支援註釋。
整數 1.0 為什麼變成了 1?
JSON 在 JavaScript 中解析後不區分 1 和 1.0,都會按整數輸出。需要浮點數的欄位請在 TOML 裡手動改成 1.0。
鍵的順序會變嗎?
普通鍵值保持 JSON 中的順序;按 TOML 規則,[表] 和 [[表陣列]] 必須寫在普通鍵值之後,所以它們會排到後面。
資料會上傳嗎?
不會。解析和轉換都在瀏覽器中完成,包含令牌、密碼的配置也不會外洩。
隱私說明
本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。