WALUDO 工具箱
CONVERT.04 YAML TO JSON

YAML 轉 JSON

在左側輸入 YAML 產生 JSON,或在右側輸入 JSON 產生 YAML

YML

YAML

JSON

JSON

§ 01

如何使用 YAML 轉 JSON

1
1

輸入 YAML

在左側貼上 YAML 設定,支援多文件(--- 分隔)和錨點引用。

2
2

查看 JSON

右側會立即顯示轉換結果,也支援雙向同步:修改 JSON 會更新 YAML。

3
3

複製或匯出

點擊複製取得 JSON,或啟用壓縮來減少輸出體積。

§ 02

YAML 與 JSON 特性對照

YAML 特性
YAML 寫法
JSON 等值
鍵值映射
name: WaLudo
"name": "WaLudo"
陣列 / 清單
- item1 / - item2
["item1", "item2"]
巢狀物件
縮排表示層級
{ "parent": { "child": ... } }
布林值
true / false / yes / no
true / false
空值
null / ~ / 空
null
多行字串
|(保留)/ >(折疊)
"string with \n"
註解
# 註解
不支援,會遺失
錨點與別名
&alias / *alias
展開為實際值
多文件
--- 分隔
不支援,需拆成陣列
日期時間
2026-06-10
"2026-06-10"(字串)
§ 03

使用情境

YAML 常見於 Kubernetes、Docker Compose 和 GitHub Actions,轉成 JSON 後更方便程式與 API 讀取。

JSON 是 Web API 和前端常見的交換格式,YAML 轉 JSON 可減少手寫設定的語法錯誤。

雙向轉換適合設定遷移、檢查結構是否等價和快速產生可複製範例。

§ 04

各語言的 YAML 與 JSON 轉換

語言
程式碼
JavaScript (Node.js)
const yaml = require('js-yaml');
const json = JSON.stringify(yaml.load(yamlStr), null, 2);
Python
import yaml, json
json.dumps(yaml.safe_load(yaml_str), indent=2)
Go
import "gopkg.in/yaml.v3"
yaml.Unmarshal([]byte(yamlStr), &data)
json.MarshalIndent(data, "", " " )
Rust
let value: Value = serde_yaml::from_str(yaml_str)?
serde_json::to_string_pretty(&value)
CLI (yq)
yq -o=json config.yaml > config.json
§ 05

常見問題

Q1YAML 和 JSON 有什麼差別?

JSON 使用嚴格的括號與雙引號語法,適合網路傳輸;YAML 使用縮排表示層級,支援註解和多行字串,常用於設定檔。

Q2如何在 JavaScript/Node.js 中轉換?

Node.js 可使用 js-yaml:const yaml = require('js-yaml'); const json = JSON.stringify(yaml.load(yamlString), null, 2); 也可使用 Python 的 pyyaml 或命令列 yq。

Q3資料會上傳伺服器嗎?

不會。YAML 解析、JSON 產生、格式化和壓縮都在本機瀏覽器完成。

Q4轉換時有哪些陷阱?

NO、YES、ON、OFF 可能被解析為布林值;前導零數字在 YAML 1.1 可能是八進位;錨點會展開;JSON 不支援註解。

Q5如何確認轉換結果正確?

可將 JSON 再轉回 YAML 做往返測試,並用 JSON 格式化工具校驗結構;複雜設定還要檢查語意是否一致。

✳ WALUDO TOOLBOX ✳ 瀏覽器原生工具集 · NO SERVER · NO DATA COLLECTION

您的檔案永遠不會離開電腦 · FILES STAY LOCAL · PRIVACY FIRST