TOML 轉 JSON 轉換器
使用這款免費的在線工具立即將 TOML 配置轉換為 JSON。支持嵌套表、表數組、內聯表、多行字串,並提供美化/緊湊/排序輸出樣式、結構視覺化、行級錯誤訊息和一鍵式範例。
偵測到廣告封鎖,導致我們無法顯示廣告
MiniWebtool 依靠廣告收入免費提供服務。如果這個工具幫到你,歡迎升級 Premium(無廣告 + 更快),或將 MiniWebtool.com 加入允許清單後重新整理頁面。
- 或升級 Premium(無廣告)
- 允許 MiniWebtool.com 顯示廣告,然後重新載入
TOML 轉 JSON 轉換器
歡迎使用 TOML 轉 JSON 轉換器,這是一款免費的線上工具,只需點擊一下即可將任何 TOML 配置轉換為整潔、有效的 JSON。無論您是將 Cargo.toml 遷移到基於 JSON 的工作流,還是在可視化調試深度嵌套的設置,或者將 TOML 文件輸入僅接受 JSON 的服務,此轉換器都能正確處理每個 TOML 結構:表、子表、表數組、內聯表、點分鍵、多行字符串、十六進制/八進制/二進制整數、日期和特殊浮點數。選擇適合您工作流的輸出樣式——美化 2 格空格、美化 4 格空格、緊湊或按鍵排序——並通過結構樹、統計儀表板和轉換圖檢查結果。
什麼是 TOML,為什麼要將其轉換為 JSON?
TOML(Tom's Obvious Minimal Language)是一種旨在無歧義且易於人類閱讀的配置格式。它為 Cargo (Rust)、Poetry (Python) 和許多其他開發工具提供項目元數據支持。另一方面,JSON 是 Web 上通用的數據交換格式。許多系統——REST API、文檔數據庫、瀏覽器 localStorage 和 JavaScript 應用——僅支持 JSON。將 TOML 轉換為 JSON 讓您可以橋接這兩個世界,而無需重新編寫配置。
將 TOML 轉換為 JSON 的常見原因
- 將 TOML 導入僅支持 JSON 的 API —— 例如,部署服務或功能旗標(feature-flag)平台。
- 可視化檢查深度嵌套的配置 —— JSON 的括號結構使層級結構一目了然。
- 生成前端配置包 —— 使用 TOML 進行編寫,將 JSON 發送到瀏覽器。
- 配合 Linter 和 JSON Schema 使用 —— 通過 JSON Schema 驗證器來驗證 TOML 結構。
- 比較配置 —— 比較不同環境下鍵排序後的 JSON,以發現配置漂移。
- 遷移舊版配置 —— 逐步將 TOML 文件移植到支持 JSON 的配置服務中。
此轉換器的主要功能
- 全面覆蓋 TOML 1.0 —— 基本字符串和字面量字符串(單行和多行)、帶下劃線分隔符的十進制/十六進制/八進制/二進制整數、科學計數法浮點數、
inf、-inf、nan、布爾值、日期和日期時間。 - 嵌套結構 —— 表、子表 (
[a.b.c])、表數組 ([[a]])、內聯表 ({ a = 1, b = 2 }) 和點分鍵。 - 四種輸出樣式 —— 美化 2 格空格、美化 4 格空格、緊湊(最小化)以及用於 diff 友好輸出的鍵排序。
- 可視化結構樹 —— 查看 TOML 結構如何轉換為 JSON 對象和數組,並帶有類型徽章(表、AoT、數組、字符串、數字、布爾值)。
- 統計儀表板 —— 表、鍵、數組、表數組的數量、深度,以及輸入/輸出字元數。
- 感知行號的錯誤訊息 —— 每個解析錯誤都包含準確的行號,以便您立即修復。
- 一鍵示例庫 —— 加載 Cargo.toml 樣式、pyproject 樣式、應用配置、數字或多行字符串示例。
- 複製與下載 —— 將 JSON 複製到剪貼簿或下載為
.json文件。 - 行動端響應式 —— 在手機、平板和桌面電腦上都能舒適使用。
- 數據不離開您的瀏覽器請求 —— TOML 在服務器端解析,結果在同一響應中返回;不存儲任何內容。
TOML 如何映射到 JSON
大多數 TOML 結構都有對應的無損 JSON 等價物。以下是轉換器應用的映射關係:
| TOML 結構 | JSON 等價物 | 備註 |
|---|---|---|
key = "string" | "key": "string" | 基本字符串保留轉義序列;字面量字符串則是原樣。 |
key = 42 | "key": 42 | 十進制、十六進制 (0x)、八進制 (0o) 和二進制 (0b) 整數均轉換為 JSON 數字。 |
key = 3.14 | "key": 3.14 | 浮點數保留其精度;inf/nan 轉換為 null 以符合有效 JSON。 |
key = true | "key": true | 布爾值直接映射。 |
key = 2026-04-25T12:00:00Z | "key": "2026-04-25T12:00:00Z" | JSON 沒有日期時間類型,因此保留 RFC 3339 字符串。 |
key = [1, 2, 3] | "key": [1, 2, 3] | 數組轉換為 JSON 數組。 |
[table] | "table": { "k": 1 } | 表轉換為對象。 |
[a.b.c] | "a": { "b": { "c": { "k": 1 } } } | 子表隱式嵌套。 |
[[items]] | "items": [{ "k": 1 }] | 表數組轉換為對象數組。 |
k = { a = 1, b = 2 } | "k": { "a": 1, "b": 2 } | 內聯表等同於 JSON 對象。 |
a.b.c = 1 | "a": { "b": { "c": 1 } } | 點分鍵創建隱式嵌套。 |
範例
title = "App" [server] host = "localhost" port = 8080
{
"title": "App",
"server": {
"host": "localhost",
"port": 8080
}
}
[[user]] name = "Alice" admin = true [[user]] name = "Bob" admin = false
{
"user": [
{ "name": "Alice", "admin": true },
{ "name": "Bob", "admin": false }
]
}
db.host = "10.0.0.1"
db.port = 5432
db.options = { ssl = true, pool = 20 }
{
"db": {
"host": "10.0.0.1",
"port": 5432,
"options": { "ssl": true, "pool": 20 }
}
}
如何使用 TOML 轉 JSON 轉換器
- 將您的 TOML 粘貼到輸入框中,或點擊「快速示例」標籤來加載典型配置。
- 選擇輸出樣式 —— 美化 2 格空格(默認)、美化 4 格空格、緊湊或鍵排序。
- 點擊「轉換為 JSON」。 工具會解析 TOML 並渲染帶有統計信息和結構樹的 JSON 輸出。
- 檢查結果 —— 查看統計儀表板以獲取概覽,展開結構樹查看層級結構,並閱讀轉換圖了解映射關係。
- 複製或下載 JSON。點擊「複製」按鈕將其放入剪貼簿;點擊「下載」將其保存為
converted.json。
支持的 TOML 功能
字符串 (Strings)
- 基本字符串使用雙引號並支持轉義序列:
\n,\t,\r,\",\\,\uXXXX,\UXXXXXXXX。 - 字面量字符串使用單引號,包含原始字元且無轉義。
- 多行基本字符串使用三引號 (
""") 並支持行尾反斜槓以消除空白。 - 多行字面量字符串使用三單引號 (
''') 並逐字保留所有內容。
數字 (Numbers)
- 十進制整數,可選用下劃線分隔符:
1_000_000。 - 十六進制/八進制/二進制整數:
0xDEADBEEF,0o755,0b1010。 - 浮點數,帶可選符號、小數點和指數:
3.14,-2e-3,6.022e23。 - 特殊浮點數:
inf,-inf,nan(轉換為 JSONnull)。
表與數組 (Tables and Arrays)
- 表:
[name]開啟一個新表。 - 子表:
[a.b.c]創建嵌套表。 - 表數組:
[[name]]向數組追加一個新表。 - 內聯表:
{ a = 1, b = 2 }。 - 數組:
[1, 2, 3]可以跨多行並包含混合值類型。
選擇正確的輸出樣式
- 美化 2 格空格 —— 默認選項。緊湊且易讀;適合大多數用途,包括提交到 Git 的配置文件。
- 美化 4 格空格 —— 符合 PEP-8 縮排樣式;受到某些 Python 和 Java 團隊的青睞。
- 緊湊 (Minified) —— 單行,無額外空格;網絡傳輸時的最小負載。
- 鍵排序 (Sorted keys) —— 按字母順序對鍵進行排序的美化輸出。非常適合進行比較 (diff),因為無論鍵的順序如何,相同的配置總是產生逐字元一致的輸出。
常見問題解答
什麼是 TOML,為什麼要將其轉換為 JSON?
TOML 是一種旨在明顯且極簡的配置格式。將其轉換為 JSON 讓您可以將配置輸入僅支持 JSON 的系統、可視化調試嵌套結構、與 Web API 共享,以及與預期 JSON 的 JavaScript 代碼集成。
此轉換器是否處理表數組和內聯表?
是的。轉換器完全支持 [[array.of.tables]] 語法(轉換為 JSON 對象數組)、內聯表如 { a = 1, b = 2 }(轉換為 JSON 對象)、嵌套子表、點分鍵以及任意嵌套深度。
支持哪些輸出樣式?
四種樣式:美化 2 格空格(默認,適合閱讀)、美化 4 格空格(符合 PEP-8 縮排樣式)、緊湊(壓縮後的單行 JSON,體積最小)以及鍵排序(按字母順序對鍵進行排序的美化輸出,便於比較差異)。
TOML 的日期時間如何轉換為 JSON?
JSON 沒有原生的日期時間類型,因此 TOML 日期時間(如 2026-04-25T12:00:00Z 的 RFC 3339 格式)在 JSON 輸出中保留為字符串。本地日期、本地時間和偏移日期時間都會逐字保留,隨時可以使用任何日期時間庫進行解析。
TOML 的 inf 和 nan 值會發生什麼?
標準 JSON 不允許 Infinity 或 NaN 字面量,因此來自 TOML 的非有限浮點數(inf, -inf, nan)在 JSON 輸出中會被轉換為 null。這會產生嚴格符合 RFC 8259 的輸出,並可在每個 JSON 庫中正確解析。
解析錯誤從何而來,我該如何修復?
轉換器會報告解析失敗的準確行號以及問題描述(未結束的字符串、重複的鍵、缺失等號、格式錯誤的數組等)。常見原因包括括號或引號不匹配、在非預期位置混用製表符(tabs),以及意外重新定義了之前已定義過的表。
有大小限制嗎?
該工具可以輕鬆處理幾 MB 大小的 TOML 文件。對於非常大的配置文件,性能瓶頸通常在於瀏覽器渲染,而非解析過程。
我的 TOML 數據會被發送到哪裡或存儲嗎?
您的輸入會在服務器端解析以生成 JSON 輸出,然後立即丟棄。我們不會記錄、存儲或傳輸您的配置到任何其他地方。
我可以將 JSON 轉回 TOML 嗎?
此工具是單向的(TOML → JSON)。如需反向操作,請使用 JSON 轉 TOML 轉換器或編程庫,如 Python 的 tomli_w、JavaScript 的 @iarna/toml 或 Rust 的 toml crate。
整潔轉換的小貼士
- 對 diff 使用鍵排序輸出 —— 您的版本控制 JSON 在團隊成員之間將保持穩定。
- 優先使用多行字符串 (
"""或''') 來處理段落文本,而不是使用\n轉義進行拼接。 - 使用表對相關鍵進行分組 —— 它們比長長的點分鍵更具可讀性。
- 注意意外的表重新定義 —— TOML 不允許兩次定義同一個表;轉換器會捕捉到這一點並給出明確的錯誤。
- 日期和時間保持 RFC 3339 格式 —— 雖然僅本地格式也能解析,但 RFC 3339 在 JSON 消費者之間能實現最可靠的往返轉換。
更多資源
引用此內容、頁面或工具為:
"TOML 轉 JSON 轉換器" 於 https://MiniWebtool.com/zh-tw/toml-轉-json-轉換器/,來自 MiniWebtool,https://MiniWebtool.com/
由 miniwebtool 團隊開發。更新日期:2026年4月25日
其他相關工具:
其他文字工具:
- 相同字母異序詞生成器
- 仿生閱讀轉換器 新
- 比較兩個字串
- 找最長一行工具
- AI 語言偵測器 精選
- 文本行處理器
- XML驗證器 精選
- 文本轉語音閱讀器 新
- 文本列提取器 新
- JSON轉YAML轉換器 新
- 正規表達式測試器 新
- 文字差異比對工具 新
- CSV轉JSON轉換器 新
- 圖片Base64轉換器 新
- API測試工具 新
- ASCII碼表 新
- Webhook測試器 新
- AI部落格標題產生器 新
- AI 話題標籤產生器 新
- AI標語產生器 新
- AI文章大綱生成器 新
- 線上記事本 新
- TOML 轉 JSON 轉換器 新
- JSON 轉 CSV 轉換器 新
- XML轉JSON轉換器 新
- SQL到MongoDB查詢轉換器 新