浏览器本地处理

JSON / YAML 互转

按 YAML 1.2 core 解析,不允许自定义标签或合并键。重复键、不安全整数、过多别名、深层嵌套和超大节点图都会被拒绝。

浏览器本地处理
0 / 1,000,000
转换结果

工具指南

什么是JSON / YAML 互转?

JSON 与 YAML 互转面向常见配置和数据交换场景,采用受限的 YAML 1.2 core 规则。为避免隐藏行为,工具拒绝自定义标签、合并键、重复键和过度别名扩展,并对深度与节点数量设限。转换时会明确提示注释、锚点和标量样式无法保留。常见使用场景包括:在 JSON API 示例和 YAML 配置之间转换。;检查 YAML 是否能安全地表示为普通 JSON 数据。;生成适合文档或部署配置的基础 YAML。页面同时列出输入边界、输出规则和限制,便于在复制结果或投入实际流程前核对格式、语义与安全注意事项。

适用场景

  • 在 JSON API 示例和 YAML 配置之间转换。
  • 检查 YAML 是否能安全地表示为普通 JSON 数据。
  • 生成适合文档或部署配置的基础 YAML。

使用方法

  1. 粘贴 JSON 或安全 YAML。
  2. 选择转换方向。
  3. 检查有损映射说明后复制或交换结果。
  4. 先使用页面提供的复杂示例验证当前选项和运行方向,再替换为自己的数据。
  5. 检查输出区、状态提示和限制说明,确认结果符合预期后再复制、下载或继续处理。

可运行示例

工作区中的“示例 1”和“示例 2”按钮会载入对应内容。两个示例覆盖不同结构、方向或边界,可以直接运行并观察输出与状态提示。

示例 1

{"project":"JSONLane","release":{"branch":"develop","tools":20},"checks":["typecheck","lint","build"]}

示例 2

project: JSONLane
locales:
  - zh-cn
  - en
release:
  branch: develop
  tools: 20
features:
  darkMode: true
  localOnly: true

输入规则

  • JSON 输入必须符合严格 JSON 语法。
  • YAML 不允许自定义标签、合并键和重复键。
  • 过深结构、别名爆炸和不安全整数会被拒绝。
  • 文本输入在运行前按字符计数,当前页面上限为 1,000,000;文件类功能另按页面显示的文件上限执行。
  • YAML 注释、锚点、别名、标签和标量样式不保留。

输出规则

  • JSON 转 YAML 输出基础标量、对象和数组结构。
  • YAML 转 JSON 不保留注释、锚点、标签或样式。
  • 无法可靠映射的结构会报错或明确提示。
  • 输出只反映当前输入、方向和选项;切换模式或修改输入后应重新运行,不应把旧结果当成新结果。
  • 自定义标签、重复键、合并键、不安全整数和过度别名扩展会被拒绝。

限制与注意事项

  • YAML 注释、锚点、别名、标签和标量样式不保留。
  • 自定义标签、重复键、合并键、不安全整数和过度别名扩展会被拒绝。
  • 深度限制为 100,展开节点限制为 50,000。

数据处理说明

解析器只在浏览器中处理输入,不加载 YAML 引用的远程内容,也不会保存配置。关闭或刷新页面后,本工具不会保留本次数据。

FAQ

YAML 能执行构造器或代码吗?

不能。自定义标签和任意类型构造会被拒绝。

支持锚点吗?

别名只会在严格扩展限制内解析;转换成 JSON 后不保留锚点。

注释会保留吗?

不会。JSON 没有注释、标签、锚点或标量样式的对应结构。

YAML 注释为什么会消失?

转换目标是普通数据结构,注释、锚点样式和排版不属于 JSON 数据模型,因此不会保留。

为什么拒绝自定义标签和合并键?

这些功能可能触发类型构造或隐藏的数据合并。受限规则让输出更可预测,也降低解析风险。

日期会自动变成 Date 类型吗?

不会。工具避免隐式类型推断造成意外变化,并按受限 YAML 规则输出可映射到 JSON 的值。

更新日期: 2026-07-31