浏览器本地处理

YAML / JSON5 互转

用于开发配置迁移和语法兼容检查;JSON5 注释、单引号与十六进制写法会被解析为数据,无法在往返时恢复原样。

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

工具指南

什么是YAML / JSON5 互转?

YAML 与 JSON5 互转适合开发配置迁移和宽松语法兼容检查。JSON5 的注释、单引号、无引号键、十六进制数和尾随逗号会由专用解析器读取,再输出为 YAML;反向可以生成易读 JSON5,但不能恢复原始注释、引号选择、标量样式或手工排版。常见使用场景包括:把 JSON5 开发配置转换为 YAML。;从 YAML 生成宽松可读的 JSON5。;定位注释、尾逗号和特殊数值兼容问题。页面同时列出输入边界、输出规则和限制,便于在复制结果或投入实际流程前核对格式、语义与安全注意事项。

适用场景

  • 把 JSON5 开发配置转换为 YAML。
  • 从 YAML 生成宽松可读的 JSON5。
  • 定位注释、尾逗号和特殊数值兼容问题。

使用方法

  1. 确认输入是 YAML 还是 JSON5。
  2. 检查是否包含注释或特殊数值。
  3. 使用复杂示例核对嵌套结构。
  4. 执行转换并修复解析错误。
  5. 复制前复核注释和数值规范化影响。
  6. 先使用页面提供的复杂示例验证当前选项和运行方向,再替换为自己的数据。

可运行示例

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

示例 1

name: JSONLane
release:
  tools: 50
  ready: true
features: [comments, trailing-commas]

示例 2

// JSONLane 配置
{
  name: 'JSONLane',
  release: { tools: 50, ready: true },
  colors: [0x10243e, 0x26b6a4,],
}

输入规则

  • YAML 使用受限安全规则。
  • JSON5 可使用该格式定义的宽松语法。
  • Infinity、NaN 和危险结构会被拒绝。
  • 文本输入在运行前按字符计数,当前页面上限为 1,000,000;文件类功能另按页面显示的文件上限执行。
  • JSON5 注释和引号风格不会保留。

输出规则

  • JSON5 注释和引号样式会被移除。
  • YAML 转 JSON5 可能使用无引号键。
  • 数据顺序遵循解析后的结构。
  • 输出只反映当前输入、方向和选项;切换模式或修改输入后应重新运行,不应把旧结果当成新结果。
  • Infinity 与 NaN 无法安全进入 YAML/JSON 数据模型。

限制与注意事项

  • JSON5 注释和引号风格不会保留。
  • Infinity 与 NaN 无法安全进入 YAML/JSON 数据模型。
  • YAML 锚点、标签和原始标量样式不会保留。

数据处理说明

所有解析、格式转换、Base64 编解码和中间数据都只存在于当前浏览器标签页内。JSONLane 不会上传输入,也不会在刷新或关闭页面后保留本次内容。

FAQ

YAML 或 JSON5 内容会上传吗?

不会。输入解析、格式转换和结果生成都只在当前浏览器标签页中完成。

转换结果一定能无损往返吗?

不能。注释、排版、类型系统和二进制能力不同,页面会明确列出需要人工复核的损失点。

为什么合法输入有时仍会被拒绝?

目标格式可能无法安全表示该结构;工具会拒绝危险键、不安全整数、过深数据和含糊映射,避免静默改写。

JSON5 注释会保留吗?

不会,解析后只有数据值。

为什么 Infinity 被拒绝?

安全 YAML/JSON 数据模型不接受非有限数值。

JSON5 适合生产 API 吗?

只有接口明确支持时才适合,多数 API 要求严格 JSON。

更新日期: 2026-08-09