使用步驟
- 在左側貼上 JSON,或點選「載入示例」。
- 選擇 2 或 4 個空格縮排,YAML 會即時生成。
- JSON 格式有誤時,會提示出錯所在的行。
- 複製或下載 YAML;點選「反向轉換」可以把 YAML 轉回 JSON。
引數說明
- 縮排
- Kubernetes、Compose、GitHub Actions 約定使用 2 個空格,也有團隊使用 4 個。
- 引號
- 只在必要時加引號,比如包含「: 」、以特殊字元開頭,或者不加引號會被當成數字、布林值、null 的字串(如 "yes"、"on"、"1.0")。
- 長字串
- 不自動折行,網址、證書等長值保持在一行,方便 diff。
示例
JSON:
{"apiVersion":"v1","kind":"Service","metadata":{"name":"web"},"spec":{"ports":[{"port":80,"targetPort":8080}]}}
YAML:
apiVersion: v1
kind: Service
metadata:
name: web
spec:
ports:
- port: 80
targetPort: 8080
常見問題
YAML 是 JSON 的超集嗎?
從 YAML 1.2 開始,幾乎所有 JSON 文件本身就是合法的 YAML。轉換成塊狀 YAML 後結構更易讀、易改,還能寫註釋,而 JSON 不支援註釋。
為什麼輸出裡有些字串帶了引號?
不加引號 YAML 會改變它們的含義:on、yes、no 在 YAML 1.1 解析器裡是布林值,1e3 是數字,包含「: 」的值會被當成新的鍵值對。加引號能保證它仍然是字串。
會保留鍵的順序嗎?
會,輸出中鍵的順序與輸入的 JSON 完全一致。
資料會上傳嗎?
不會。解析和轉換都在瀏覽器中完成,包含主機名、令牌、帳號密碼的配置也不會外洩。
隱私說明
本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。