输入 YAML
在左侧编辑器中粘贴你的 YAML 配置内容,支持多文档(--- 分隔)和锚点引用。
试试其他关键词
未找到相关结果
在左侧输入框输入 YAML,右侧自动生成 JSON;在右侧输入 JSON,左侧自动生成 YAML
在左侧编辑器中粘贴你的 YAML 配置内容,支持多文档(--- 分隔)和锚点引用。
右侧将自动显示转换后的 JSON,支持实时双向同步:修改 JSON 也会自动更新 YAML。
点击复制按钮获取 JSON 结果,或勾选压缩选项最小化输出体积。
name: WaLudo"name": "WaLudo"- item1 / - item2["item1", "item2"]缩进表示层级{ "parent": { "child": ... } }true / false / yes / notrue / falsenull / ~ / 空null| (保留换行) / > (折叠)"string with \n"# 这是注释不支持,会丢失&alias / *alias展开为实际值--- 分隔JSON 不支持,需拆分为数组2026-06-10"2026-06-10" (字符串)YAML 常用于 Kubernetes、Docker Compose、GitHub Actions 等配置文件,转换为 JSON 后便于程序读取和接口传输。
JSON 是 Web API 和前端应用最常见的数据交换格式,将 YAML 转为 JSON 可减少手写配置时的语法错误。
双向转换适合调试配置迁移、检查数据结构是否等价,以及快速生成可复制的示例。
const yaml = require('js-yaml');
const json = JSON.stringify(yaml.load(yamlStr), null, 2);import yaml, json
json.dumps(yaml.safe_load(yaml_str), indent=2)import "gopkg.in/yaml.v3"
yaml.Unmarshal([]byte(yamlStr), &data)
json.MarshalIndent(data, "", " " )let value: Value = serde_yaml::from_str(yaml_str)?
serde_json::to_string_pretty(&value)yq -o=json config.yaml > config.jsonYAML 和 JSON 都是常用的数据序列化格式。JSON 语法严格,使用花括号和双引号,广泛用于网络传输和 API 通信;YAML 使用缩进表示层级,支持注释和更丰富的数据类型(如日期、多行字符串),常用于编写配置文件(如 Docker Compose、Kubernetes、CI/CD 等)。
在 Node.js 中推荐使用 js-yaml 库:const yaml = require('js-yaml'); const json = JSON.stringify(yaml.load(yamlString), null, 2); 本工具站正是使用 js-yaml 在浏览器本地完成转换。Python 用户可使用 pyyaml 库,命令行用户推荐 yq 工具。各语言示例见下方代码对照表。
不会。本工具站所有数据均在浏览器本地处理,YAML 解析、JSON 生成、格式美化、压缩等所有操作完全在你的设备上完成,不上传、不保存、不记录任何用户数据。
YAML 有一些容易出人意料的特性:(1) NO、YES、ON、OFF 会被解析为布尔值而非字符串(挪威问题),建议用引号包裹;(2) 以零开头的数字如 01234 在 YAML 1.1 中会被当作八进制数;(3) YAML 的锚点与别名 (&anchor / *alias) 在 JSON 中会展开为实际值;(4) JSON 不支持注释,YAML 中的所有注释在转换后都会消失。
推荐进行往返测试:将输出的 JSON 再反向转换回 YAML,检查是否与原始输入一致。也可使用本站的 JSON 格式化工具验证 JSON 结构是否正确。对于复杂配置,建议对比转换前后数据的语义是否等价。