跳到主要内容
uencoder

在 JSON 与 YAML 之间迁移配置

将 JSON 配置转为 YAML(或反向),带格式化中间步骤,并在提交文件前了解类型强转陷阱。

  1. 1
    JSON 与 YAML 互转器 →

    快速单向转换:粘贴 JSON 直接得到 YAML。

  2. 2
    json-format → json-yaml

    当源 JSON 被压缩时推荐:先验证并美化打印,检查结构,再转换。

  3. 3

    反向转换。留意 JSON 输出中未加引号的 YAML 标量被强转为布尔或数字。

  4. 4

    提交迁移前,审查三个已知陷阱:看起来像数字或布尔的未加引号值会被强转(给版本号和 semver 字符串加引号);YAML 锚点与别名(&ref / *ref)在 JSON 中无对应,转换时会被展开;重复键被某些 YAML 解析器允许却被 JSON 拒绝——需刻意去重。

常见问题

YAML 是 JSON 的超集吗?
YAML 1.2 本质上是 JSON 1.2 语法的超集——大多数 JSON 可作为 YAML 解析。反向不成立:YAML 的锚点、多文档流、未加引号标量等特性在 JSON 中无表示。
为什么我的版本号变成了浮点数?
YAML 将未加引号的 1.10 解析为数字 1.1。在 YAML 中给版本号字符串加引号('1.10')以保持文本。

解决此任务的工作流

通过 JSON 比较两份 YAML 配置
将 YAML 配置转换为 JSON,便于对结构化数值进行便于比较的差异对比。
管道
校验、格式化后将 JSON 转 YAML
将(可能被压缩的)JSON 配置转换为 YAML,在第一个节点捕获语法错误,而非生成细微错误的 YAML。
管道
YAML 转 JSON
将 YAML 文档转为 JSON,并检视解析值以发现类型强制转换的意外。
管道
CSV 转 JSON 再转 YAML
通过 JSON 中间表示将电子表格 CSV 数据转换为 YAML,适用于配置生成。
管道
为 URL 传输编码 JSON 载荷
将 JSON 文档准备为 URL 参数:格式化、Base64 编码、再百分号编码——即嵌套参数解码链的精确逆过程。
管道
ENV 转 JSON 再转 YAML
将 .env 转为 JSON 再转为 YAML。
管道
HJSON 转 JSON 格式化
格式化 HJSON 后转为标准 JSON。
管道
INI 转 JSON 再转 YAML
将 INI 转为 JSON 再转为 YAML。
管道
格式化 JSON 并计算完整性校验和
格式化 JSON 文档并计算 CRC32 校验和,以检测后续任何修改。
管道
JSON 格式化并验证
一次性格式化 JSON 以便检视,并验证语法正确。
管道
格式化 JSON 并生成 TypeScript 接口
格式化 JSON 文档,再在一条链中推断出 TypeScript 接口定义。
管道
JSON 转 YAML 再转 TOML
将 JSON 配置经 YAML 迁移为 TOML,用于 Rust 或 Python 项目配置。
管道
JSON5 转 JSON 格式化
格式化 JSON5 后转为标准 JSON。
管道
JSONC 转 JSON 格式化
格式化 JSONC 后转为标准 JSON。
管道
解码并格式化 JWT 载荷
解析 JWT 令牌,提取其载荷,并格式化 JSON 以便检视。
管道
Properties 转 JSON 再转 YAML
将 Java properties 转为 JSON 再转 YAML。
管道
解析查询字符串并格式化 JSON
解析查询字符串为键值对后格式化为 JSON。
管道
TOML 转 JSON
将 TOML 配置文件解析为 JSON,供期望 JSON 输入的工具和 API 使用。
管道
TOML 转 JSON 再转 YAML
通过 JSON 将 TOML 配置转为 YAML,用于 Kubernetes 或 CI 工具。
管道
经 JSON 将 TOML 转 YAML
将 TOML 配置文件转换为 YAML 格式,以 JSON 作为中间表示。
管道
解码嵌套 URL 参数(Base64 JSON)
将承载 URL 编码 Base64 JSON 的 URL 参数解包为可读的格式化 JSON。
管道
YAML 转 JSON 再转 CSV
将 YAML 转为 JSON 再转 CSV。
管道
从 YAML 生成 TypeScript 接口
将 YAML 文档转换为 TypeScript 接口定义,以 JSON 作为中间格式。
管道
YAML 验证并格式化
将 YAML 转 JSON 以验证结构,再确认 JSON 格式正确。
管道

相关工具